自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 THREEJS中用shader实现边框效果,附代码

首先需要对mesh的geometry加上一个新的attribute——center,这里 是根据法线来计算的,原理是当相邻的法线间角度太大,就代表这里有一个硬的边框。这里通过之前添加的vCenter属性,计算边框的位置。

2023-05-16 18:27:29 890 1

原创 THREEJS中的屏幕空间LOD(Screen-Space LOD)的技术研究

在这个示例中,我们创建了一个辅助帧缓冲区(Framebuffer)用于渲染,并根据相机与立方体之间的距离动态调整其尺寸。随着距离的增加,渲染目标的尺寸会减小,从而降低渲染负担。最后,我们使用一个全屏四边形(Quad)将渲染目标的纹理渲染到屏幕上。这里没有涉及自定义着色器,仅使用了Three.js提供的基础材质。需要注意的是,这个示例仅适用于简单场景。对于更复杂的场景,可以考虑将自定义着色器与屏幕空间LOD技术结合使用。

2023-04-24 15:19:31 318 1

原创 THREEJS中的SAOShader阴影计算

SAO(Scalable Ambient Obscurance):可扩展环境光遮蔽是一种改进的环境光遮蔽技术,它在保持性能的同时,生成更精确和连续的阴影效果。SAO 采用一种基于深度缓冲区的近似算法,可以在不同的场景和分辨率下保持高质量的阴影效果。然而,SAO 相对于 SSAO 更复杂,可能需要更多的计算资源。

2023-04-23 15:12:57 366 1

原创 THREEJS中的SSAOShader阴影计算

需要注意的是,深度值在 [0, 1] 范围内的分布通常是非线性的,这意味着距离相机较近的像素深度值变化较大,而距离相机较远的像素深度值变化较小。这是一个GLSL函数,用于将屏幕空间中的点(screenPosition 和 depth)转换为视图空间中的位置(三维坐标)。视口空间考虑了摄像机的近裁剪面(cameraNear)和远裁剪面(cameraFar),它将裁剪空间中的坐标映射到一个可见的 3D 场景范围。视图空间是将场景中的物体变换到摄像机坐标系中的空间,因此 Z 坐标表示物体距离摄像机的距离。

2023-04-21 14:47:52 436 1

原创 THREEjs中的定点着色器

什么是着色器着色器是用 GLSL 编写的程序,发送到 GPU。它们用于定位几何体的每个顶点并为几何体的每个可见像素着色。术语“像素”并不准确,因为渲染中的每个点并不一定与屏幕的每个像素相匹配,这就是为什么我们用“片段”这个词的原因。顶点着色器顶点着色器的目的是确定几何体的顶点位置。我们需要发送顶点位置、网格变换(如位置、旋转和缩放)、相机信息(如位置、旋转和视野)。然后,GPU 将遵循顶点着色器中的指令来处理所有这些信息,以便将顶点投影到一个 2D 空间,也就是我们的渲染器——换句话

2023-04-20 10:48:22 381 2

ke模拟器,手机模拟

yuandaima,ke手机模拟器,发ichangbucuo1

2011-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除