Home › Forums › Games202-高质量实时渲染 › 作业1的正交矩阵参数的疑惑 Tagged: shadowmap This topic has 9 replies, 6 voices, and was last updated 2 years, 8 months ago by panicowl. Viewing 4 reply threads Author Posts 2021年4月1日 at 上午1:58 #7998 Score: 1 chinoParticipant Karma: 1 pt 作业一做到“CalcLightMVP”函数的时候,里面求projectionMatrix正交矩阵需要填写盒子的大小参数,但我找了下没有找到具体的参数从哪里来,也没有找到它的定义。 求教下各位大佬,这个参数到底是怎么填写? This post has received 1 vote up. Attachments:You must be logged in to view attached files. 2021年4月1日 at 上午8:50 #8000 Score: 0 cmc233Participant Karma: 6 pts 估计填写,保证在light坐标系下,由(left, right, bottom, top, near, far)构成的盒子能够包含整个场景,从而渲染出完整的shadow map就行 可以在phongVertex.glsl里令 gl_Position = vPositionFromLight;就可以可视化出shadow map渲染的范围 2021年4月2日 at 上午12:24 #8003 Score: 0 chinoParticipant Karma: 1 pt 感谢 2021年4月18日 at 下午10:38 #8194 Score: 0 IcedBlackTeaParticipant 你好,想问一下最后你的正交矩阵的参数怎么填的, 我用的以下参数 (learnOpenGL中用的) 但是shadowmap没有成功生成 mat4.ortho(projectionMatrix, -10.0, 10.0, -10.0, 10.0, 1.0, 10); 2021年4月19日 at 上午10:16 #8195 Score: 0 AvinParticipant 关于这个问题,可以看一下mat4.js里面ortho的源码,mat4.ortho最终投影到的投影空间,是一个长宽高均为[-1, 1]的立方体,而根据Shader中把浮点数打包成RGBA的做法看来,是要求深度被投影到[0,1]这个区间的。因此,可能不能直接使用mat4.ortho得到投影矩阵。(即使是投影到[-1,1]的立方体,mat4.ortho返回的矩阵中[2][2]的元素缺少了一个负号?) 2021年4月19日 at 上午10:28 #8196 Score: 0 AvinParticipant 噢,我的理解有些问题,回看一下画阴影的FS,用的就是gl_FragCoord.z,已经是个归一化之后的值了。因此,投影到一个[-1,1]立方体的问题不大,只不过可能是mat4.ortho的实现确有问题? 2021年4月19日 at 上午10:37 #8197 Score: 0 AvinParticipant 啊哈哈,仔细看了一下mat4.ortho的实现,应该也是没问题的,可能只是给的投影参数的投影体覆盖不到场景物体而已,可以试下给大一点深度,同时把投影体在场景里面的范围画出来看下。 2021年4月24日 at 下午4:25 #8269 Score: 0 IcedBlackTeaParticipant 没错没错, 这个参数值太小了, 试了几次以后总算把shadowmap覆盖完整个场景了. 做LearnOpenGL的教程的时候能用renderdoc抓帧看生成的shadowmap, webgl用Spector.js看不到深度图只能全靠画了 2021年11月4日 at 下午4:57 #9628 Score: 0 waqiaParticipant Karma: 2 pts 大佬 你的意思是webgl自动把gl_FragCoord.z从[-1,1] 归一化到了[0,1]吗? 2022年2月5日 at 下午9:11 #10530 Score: 0 panicowlParticipant 我懂了,见代码注释https://github.com/shudal/games202/blob/main/hw1/hw1/homework1/src/lights/DirectionalLight.js Author Posts Viewing 4 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In