- 博客(17)
- 收藏
- 关注
原创 GLSL 数据类型和内置函数
GLSLuniform数据类型非常灵活,涵盖从简单的浮点数到复杂的矩阵和纹理采样器。这些uniform类型能够帮助我们在着色器中高效地进行各种运算和效果的实现。
2024-11-08 17:34:36
1172
原创 CameraControls中阻尼调整
smoothTime 和 draggingSmoothTime 取代了之前版本中的 dampingFactor,用于控制相机移动的平滑度。它们控制的是相机在交互(拖拽、旋转等)时和平滑过渡时的阻尼效果。
2024-10-16 17:22:41
374
原创 THREEJS高级光照与着色器编程学习
环境贴图是一种将周围环境映射到物体表面的方法,用于模拟反射和折射效果。常见的环境贴图类型包括立方体贴图(Cube Map)和球面贴图(Spherical Map)。全局光照模拟了光线在场景中的多次反射和散射效果,真实地再现了光线在现实世界中的传播。全局光照技术使得光线能够从一个物体反射到另一个物体,增加了场景的真实感。着色器(Shader)是运行在 GPU 上的小程序,用于计算图像中的每个像素或顶点的颜色和亮度。着色器通常使用 GLSL(OpenGL Shading Language)编写。
2024-09-02 14:11:18
1342
1
原创 THREEJS阴影与后期处理
后期处理是指在基本的 3D 渲染完成后,对图像进行进一步处理以添加特殊效果的过程。常见的后期处理效果包括景深(Depth of Field)、泛光(Bloom)、色彩校正(Color Correction)、抗锯齿(Anti-Aliasing)等。
2024-08-28 09:25:49
587
原创 threejs光照与材质
threejs材质定义了物体表面如何与光线交互。通过设置不同的材质参数,可以使得物体表现出如金属、塑料、布料等不同的质感。
2024-08-26 09:24:41
677
原创 THREE.JS投影与视图
投影是将三维场景中的对象转换为二维平面图像的过程。投影的目标是模拟人眼或摄像机如何观察世界,使得三维物体在二维屏幕上呈现出合理的视觉效果。
2024-08-23 08:56:32
1245
原创 3D 坐标系的基础概念、变换操作
3D 坐标系是用来描述三维空间中点或对象位置的系统。X 轴:通常表示左右方向(水平)。Y 轴:通常表示上下方向(垂直)。Z 轴:通常表示前后方向(深度)。在一个 3D 坐标系中,每个点的位置由一个三元组(x, y, z)来表示,分别表示该点在 X、Y 和 Z 轴上的位置。
2024-08-22 09:33:46
1894
原创 探索Three.js:Web 3D开发的强大工具
Three.js是一个基于WebGL的JavaScript库,允许开发者在浏览器中创建和展示3D图形。凭借其简洁的API和丰富的功能,Three.js在Web 3D开发领域广受欢迎。本篇文章将带你了解Three.js的基础知识,并提供一些实用的开发技巧。Three.js是一个强大且易于使用的Web 3D开发库。通过掌握基本的场景创建方法和一些实用技巧,你可以轻松地在网页中创建复杂的3D图形和动画。
2024-08-08 09:12:20
540
原创 React之useMemo和useCallback
useMemo和useCallback只应作用于性能优化。如果代码在没有它的情况下无法运行,请找到根本问题并首先修复它,然后再使用。大部分时候你可能用不到它们,或者说没必要用。
2024-04-09 15:09:23
523
转载 Infuse命名规则
Infuse 会从获取电影、电视节目、动漫、音乐会、短片和电影系列的信息。以下是一些命名规则,可帮助您在将视频与 TMDB 中的标题进行匹配时获得最佳结果。
2024-03-27 16:36:14
7901
原创 threejs-设置HDR环境贴图
在Three.js中,HDR(高动态范围)渲染是一种渲染技术,其目的是提供更广泛的亮度范围和更准确的颜色表示,以更好地模拟真实世界的光照情况更广泛的亮度范围: HDR允许场景中的亮度范围更广,可以包括非常明亮和非常暗的区域。传统的渲染技术可能在亮度极端值上失真,导致细节丢失或颜色变淡。HDR可以捕捉并呈现这些极端的亮度值,使图像更真实。更准确的颜色表示: HDR使用浮点数格式来表示颜色,而不是常规的8位或16位整数。这使得它能够表示更多的颜色细节,尤其是在光照变化较大的情况下。
2024-01-22 11:24:34
1879
转载 高阶函数filter
filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。例如,在一个Array中,删掉偶数,只保留奇数,可以这么写:var arr = [1, 2, 4, 5, 6, ...
2019-12-31 16:52:35
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人