首页 > 其他分享 >Three.js教程:渲染器

Three.js教程:渲染器

时间:2023-06-13 09:34:39浏览次数:45  
标签:Canvas 渲染器 domElement render Three js 画布

推荐:将NSDT场景编辑器加入你的3D工具链。
其他系列工具:NSDT简石数字孪生

渲染器

生活中如果有了景物相机,那么如果想获得一张照片,就需要你拿着相机,按一下,咔,完成拍照。对于threejs而言,如果完成“咔”这个拍照动作,就需要一个新的对象,也就是WebGL渲染器WebGLRenderer (opens new window)。

WebGL渲染器WebGLRenderer

通过WebGL渲染器WebGLRenderer (opens new window)可以实例化一个WebGL渲染器对象。

设置Canvas画布尺寸.setSize()

// 定义threejs输出画布的尺寸(单位:像素px)
const width = 800; //宽度
const height = 500; //高度
renderer.setSize(width, height); //设置three.js渲染区域的尺寸(像素px)

渲染器渲染方法.render()

渲染器WebGLRenderer执行渲染方法.render()就可以生成一个Canvas画布(照片),并把三维场景Scene呈现在canvas画布上面,你可以把.render()理解为相机的拍照动作“咔”。

renderer.render(scene, camera); //执行渲染操作

渲染器Canvas画布属性.domElement

渲染器WebGLRenderer通过属性.domElement可以获得渲染方法.render()生成的Canvas画布,.domElement本质上就是一个HTML元素:Canvas画布。

document.body.appendChild(renderer.domElement);

Canvas画布插入到任意HTML元素中

<div id="webgl" style="margin-top: 200px;margin-left: 100px;"></div>
document.getElementById('webgl').appendChild(renderer.domElement);
3D建模学习工作室    

上一篇:Three.js教程:透视投影相机 (mvrlink.com)

下一篇:Three.js教程:三维坐标系 (mvrlink.com)

标签:Canvas,渲染器,domElement,render,Three,js,画布
From: https://www.cnblogs.com/mvrlink/p/17476595.html

相关文章

  • jsx注意点
          ......
  • jsx的基本使用
          ......
  • python - Flask接收和发送json
    需要接收一个json对象,然后判断主键是否存在后执行插入操作服务端fromflaskimportFlask,request,jsonifyfromgeventimportpywsgiimportpymysqlimportconfigimportjsonapp=Flask(__name__)try:mysql_conn=pymysql.connect(host=config.mysql_host,user......
  • java调用第三方接口,请求方式 get,传参方式 param形式非json。
    项目调用第三方接口,调用方式人家做了限制“请求方式get 传参方式param形式传参,非json”。所有有了下面的代码: importcom.alibaba.fastjson.JSONObject;importcom.spcp.platform.common.util.StringUtil;importcom.spcp.qypt.whpt.util.HttpClientUtil;importorg.spring......
  • js实现复制粘贴
    在一些页面里,有时候会需要用户点击按钮或者控件需要把一些文字内容写入用户设备的剪切板里。在js中如何通过代码实现?接下来是两种实现方法!使用document.execCommandAPI注意document.execCommandAPI是同步执行,如果数据量大可能会阻塞页面加载,这种办法能兼容老版本浏览器和大......
  • js 0.07*100竟然是7.000000000000001
    无意中发现了一个问题:0.07*100=7.000000000000001,而不是7。 结果为什么是7.0000000000000001? 其实JavsScript中,变量在存储时并不区分number和float类型,而是统一按float存储。而javascript使用IEEE754-2008标准定义的64bit浮点格式存储number,按照IEEE754的定义:http://en......
  • Python利用jsonpickle库把对象序列化为json
    python中经常要保存一些数据,json是一种理想的存储格式,纯文本的,也方便阅读,但有时使用起来不太方便,比如下面的例子:a=jsonData['A']b=jsonData['B']只能按字典方式引用,还不支持自动完成,不如python对象使用方便.如果定义python类,使用方便,但是保存为文件时......
  • os模块、序列化模块、pickle和json的区别
    os模块#os模块是与操作系统交互的一个接口1.文件相关的os.makedirs('dirname1/dirname2')#可生成多层递归目录os.removedirs('dirname1')#若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname')#生成单级目录;相当于shell中mkd......
  • Delphi 原生支持DataSet导出Json
    Xalion发现data.DBJson单元,不知什么时候加的,官方帮助中也没有写。procedureTForm18.Button2Click(Sender:TObject);varcV:TDatasetToJSONBridge;jo:Tjsonobject;begincV:=TDatasetToJSONBridge.Create;trycV.Dataset:=mt;jo:=Tjsonobject(cV.......
  • 【node开发】node.js在项目中使用的常见语法
    node.js在项目中使用的常见语法//Process模块//内置模块,直接使用constprocess=require('process');//获取终端输入的参数constargs=process.argv.slice(2);//获取全局变量constdata=process.env.VUE_APP_BASE_URL//返回当前系统信息constsystem=pr......