- 博客(167)
- 收藏
- 关注
原创 glsl版本
WebGL 基于 OpenGL ES,WebGL 1.0 是 OpenGL ES 2.0 的实现,而 WebGL 2.0 则基于 OpenGL ES 3.0。OpenGL ES 2.0 基于OpenGL 2.0,OpenGL ES 3.0 基于OpenGL 3.3,
2025-02-10 09:53:46
271
原创 【osg】osg模块
OpenSceneGraph(OSG)是一个模块化的、基于场景图的 3D 图形引擎,它的模块划分帮助开发者处理不同的功能需求。
2024-12-10 09:56:53
628
原创 【MVP矩阵】3D坐标系转换流程
透视除法是自动执行的视口变换也是自动执行的,其中x、y执行比较简单,需要注意的是z【转换后】= (z【ndc】+ 1) / 2,就是将-1到1 转至 0到1。
2024-08-05 13:58:55
291
原创 【Unity渲染】烘培
光照探针就是在烘焙的时候会布局多个探测点,记录那个地方的光照信息,后面实时渲染动态物体会影响其渲染,动态物体会选择自己周围最近的探针进行影响。
2024-07-29 17:59:10
376
原创 【Unity渲染】后处理插件
记得给他们创建一个Layer,如创建了两个Post-Process-Volume,其所属图层分别为Post-Process-Volume-LayerA和Post-Process-Volume-LayerB。这里就可以选Post-Process-Volume-LayerA或者Post-Process-Volume-LayerB,指定哪个Post-Process-Volume被渲染。
2024-07-26 10:27:45
566
原创 【WebGL】自定义attribute位置gl.bindAttribLocation
开始学习webgl一些简单demo的时候,看到是使用可以获取当前着色器程序某个attribute变量的如果使用就可以自定义指定位置,根据allAttrInfo中attribute顺序指定对应索引位置,方便后续调用。
2024-02-04 09:47:31
563
原创 【c#】线程Monitor.Wait和Monitor.Pulse使用
getConnection的时候,如果队列中connection个数小于50,且暂时无可用的connection(个数为0或者peek看下头部需要先出那个元素还处于不可用状态),就新建连接并建立连接,开始一直新建到50个connection,就是_currentPoolSize =50。如果队列中connection个数大于等于50,且暂时无可用的connection(个数为0或者peek看下头部需要先出那个元素还处于不可用状态),就等着。以一个简易版的数据库连接池的实现来说明一下。
2023-10-08 16:56:34
457
原创 【Unity Shader】自定义变体使用
GLSLPROGRAM后面加#pragma multi_compile语句然后顶点和片元着色器中脚本中开启和关闭HAS_UNIFORM_u_color。
2023-09-08 10:33:58
481
原创 【Unity 渲染】Projector(纹理映射)
之前看webgl的纹理映射,最近刚好学习unity中发现有类似概念Projector,记录一下,两篇博客对比学习。
2023-06-14 16:46:52
501
原创 【WebGL】ShadowMap实现阴影原理
假如场景中有一个平面和三角形,实现阴影的步骤和原理如下:1.以灯光为相机视角渲染平面和三角形,记录片元的深度信息到gl_FragColor2.以相机为视角进行渲染三角形和平面,着色器如下这里就是当前模型同一个点取得灯光视角空间的深度和在相机视角下的深度,进行对比(当前片元在投影贴图中所对应的片元)之所以要先取灯光视角空间的所有模型的深度信息(上一步的帧缓存),是当前渲染的时候只能取得自己得深度。
2023-06-13 14:43:45
305
原创 【mapbox 样式】light
viewport”:光照位置不变,所以building旋转的时候,其表面明暗程度会变化“map”:光照随地图位置变化,所以buliding旋转的时候,其表面明显程度不会变化了。
2023-05-31 15:25:25
575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人