摘要:
最简单的地形是单一的平面, 这个通过var geo = new THREE.PlaneGeometry(2, 2, 256, 256) 几何体构建, 可以设定平面的切分块的数量。var pmesh = new THREE.Mesh(geo, material);可以为平面提供纹理, 从而是地面看起来... 阅读全文
摘要:
LOD 处理比较大的外部地面场景中比较有用, 一般用于绘制地形。 首先通过可视体的切割删除不用的地形块,接着通过LOD 对照相机不同距离的地形块进行层次细节调整。这里采用最简单的LOD 方法。首先地形有n*n 的块构成, 这些块共同构成一个大平面;首先根据每个块到照相机的距离 计算细节层次,例如假设... 阅读全文
摘要:
同一个场景中可以有多个摄像机,同一个屏幕缓冲区可以分块绘制不同的物体。WeblGLRender 中autoClear 设定为false之后, 每次绘制不会清空缓冲区;setSize 设定canvas的大小setViewport 设定绘制的位置的大小clear() 手动清空绘制缓冲区例如有两个摄像机A... 阅读全文
摘要:
Three.js 中3D 物体 都继承于 Object3D;而构造一个3D 物体 需要 提供两个对象 即Gemotry 几何体 和 Material 材质。Gemotry 中 vertices 决定定点的 列表, face 决定面的构成, faceVertexUv 决定 纹理坐标而Material ... 阅读全文
摘要:
WebGLRenderTarget 是GPU 内部对象, 主要作用是存储绘制结果,通常绘制结果直接显示到屏幕上,但是也可以暂时存储在GPU内部,以便于再次利用。对于OpenGL 来讲, RenderTarget就是一个FrameBuffer, 在这个FrameBuffer之下附带有一个颜色buffe... 阅读全文