图形学
GAMESLI-GIS
web3D 图形学爱好者 BJFU GIS硕
展开
-
【webgl】自定义attribute位置gl.bindAttribLocation
开始学习webgl一些简单demo的时候,看到是使用可以获取当前着色器程序某个attribute变量的如果使用就可以自定义指定位置,根据allAttrInfo中attribute顺序指定对应索引位置,方便后续调用。原创 2024-02-04 09:47:31 · 427 阅读 · 0 评论 -
【WebGL】ShadowMap实现阴影原理
假如场景中有一个平面和三角形,实现阴影的步骤和原理如下:1.以灯光为相机视角渲染平面和三角形,记录片元的深度信息到gl_FragColor2.以相机为视角进行渲染三角形和平面,着色器如下这里就是当前模型同一个点取得灯光视角空间的深度和在相机视角下的深度,进行对比(当前片元在投影贴图中所对应的片元)之所以要先取灯光视角空间的所有模型的深度信息(上一步的帧缓存),是当前渲染的时候只能取得自己得深度。原创 2023-06-13 14:43:45 · 162 阅读 · 0 评论 -
【渲染管线】逐顶点、逐片元着色
unity shader原创 2023-04-24 10:01:28 · 142 阅读 · 0 评论 -
【渲染管线】关于三角面正反和剔除cull
unity webgl剔除原创 2023-03-24 18:20:38 · 664 阅读 · 0 评论 -
【渲染管线】关于模板测试
模板测试(stencil test)是一种测试技术,它用于比较模板缓冲区中的值和参考值(reference value),并根据比较结果决定是否绘制像素。模板测试是一种测试技术,它用于比较模板缓冲区中的值和参考值(reference value),并根据比较结果决定是否绘制像素。在执行绘制命令时,WebGL会将模板缓冲区中的值与参考值进行比较,如果相等,则通过测试。最后,我们将模板缓冲区的操作设置为保持当前值不变,当模板测试通过并深度测试失败时保持当前值不变,当模板测试通过并深度测试也通过时将当前值加1。原创 2023-03-24 18:14:29 · 641 阅读 · 0 评论 -
【渲染管线】关于透明度混合blend
blender 透明度混合原创 2023-03-24 18:13:46 · 274 阅读 · 0 评论 -
【渲染管线】关于深度测试
深度测试原创 2023-03-24 17:55:26 · 509 阅读 · 0 评论 -
【图形库】WebGL/OpenGL正背面剔除
图形学原创 2022-08-30 18:09:36 · 311 阅读 · 0 评论 -
【坐标系】各引擎坐标系
坐标系原创 2022-08-24 14:42:56 · 653 阅读 · 0 评论 -
【MVP矩阵】裁剪空间、NDC空间、屏幕空间
图形学原创 2023-11-28 13:48:36 · 1217 阅读 · 0 评论 -
【MVP矩阵】模型矩阵推导与实现
https://blog.csdn.net/e295166319/article/details/78775163原创 2021-08-30 11:06:17 · 195 阅读 · 0 评论 -
【MVP矩阵】视图矩阵推导与实现
1.数据矩阵推导https://blog.csdn.net/weixin_44176696/article/details/1092649612.gl-matrix实现https://glmatrix.net/docs/mat4.js.html#line16193.其他一些实现https://wow.techbrood.com/fiddle/38125原创 2021-11-02 10:14:39 · 253 阅读 · 0 评论 -
【MVP矩阵】投影矩阵推导与实现
参照games101课程,这里只列举一些信息备忘。正交投影推导结果如下透视投影推导结果如下。原创 2023-12-02 14:58:23 · 586 阅读 · 0 评论 -
【PBR】微平面理论
原创 2021-08-23 17:37:26 · 172 阅读 · 0 评论 -
【PBR】辐射度量学
前置知识1.辐射通量单位时间通过的能量,单位W2.辐射照度 irradiance单位面积通过的辐射通量3.辐射强度4.辐射亮度 radiance原创 2021-08-20 11:01:07 · 162 阅读 · 0 评论 -
【PBR】蒙特卡洛方法
参考博客https://blog.csdn.net/i_dovelemon/article/details/76286192原创 2021-08-16 17:53:52 · 148 阅读 · 0 评论 -
【PBR】BRDF分析
背景THREE中,MeshPhongMaterial冯氏材质是非物理光照模型,继而MeshStandardMaterial 材质实现原理是基于物理的,俗称PBR,本文对THREE中PBR的其实现部分进行分析。分析参考1.实现 https://www.cnblogs.com/tengge/p/12037574.html2.原理 https://zhuanlan.zhihu.com/p/37639418...原创 2021-08-13 16:50:33 · 255 阅读 · 1 评论 -
【光照模型】phong和blinn phong(改进版)的区别
背景主要是参考unity shader入门精要书籍中的知识分析phong,强度主要依据视线方向和光的反射方向的点乘blinn phong是引入一个新的向量半角向量,是光的方向和视线方向的中间向量原创 2021-08-14 14:40:00 · 579 阅读 · 0 评论 -
【光照模型】lambert光照模型
https://zhuanlan.zhihu.com/p/1472517301.常规版本的漫反射2.修正版本的漫反射原创 2021-08-14 15:02:36 · 150 阅读 · 0 评论 -
【GLSL】shadertoy相关
1.shadertoy预置参数可参考下博客https://blog.csdn.net/qq_32307691/article/details/727867432.片元坐标为什么除屏幕长宽使用屏幕空间坐标系在许多时候都不是很方便,这里引入一种常用的坐标系:uv坐标系。此坐标系将屏幕的长宽都映射到了[0,1],这样方便我们用数字直接操作。因为0<fragCoord.x< iResolution.x0<fragCoord.y< iResolution.yvoid mainIma原创 2021-04-12 14:23:45 · 216 阅读 · 0 评论 -
【GLSL】glsl常用函数
1.smoothstep(float edgo0,float edge1, float x);其中的 edge0 是样条线插值的下界,edge1 是样条线插值的下界,当 x 小于下界返回 0,当 x 大于上界返回 1,介于上界下界之间返回一个平滑的曲线2.mix(x,y,a)返回一个线性组合 x(1-a)+ya3.step(edge,x)如果x < edge,返回0.0,否则返回1.04. clampclamp(x, minVal, maxVal):使返回值限制在minVal和maxV原创 2021-03-03 14:25:44 · 2325 阅读 · 3 评论 -
【WEBGL】gl.enableVertexAttribArray和gl.disableVertexAttribArray的理解
webgl原创 2022-09-13 18:38:00 · 493 阅读 · 0 评论 -
【WEBGL】顶点个数问题
webgl原创 2023-02-09 09:44:20 · 252 阅读 · 0 评论 -
【WEBGL】VAO和VBO理解
webgl原创 2022-09-10 16:14:51 · 814 阅读 · 0 评论 -
【WEBGL】基本原理流程
webgl基本原理流程看图https://webglfundamentals.org/webgl/lessons/resources/webgl-state-diagram.html?exampleId=use-2-programs#no-help原创 2021-07-29 17:59:55 · 521 阅读 · 0 评论 -
【模型数据结构】OBJ格式解析
1.obj文件里面// 外部 .mtl 文件名mtllib USA_NV_LASVEGAS_HOOTERSCASINO_S.MTL// 群组名g default// 顶点v -7.72968617716024 23.1377603778517 60.463837...// 纹理坐标vt 0.370899 0.580444...// 法向量vn -0.999982 -0.005919 0.000693...// 面索引f 5/1/1 6/2/2 2/3/3...//平滑描原创 2021-09-07 18:14:03 · 476 阅读 · 0 评论