Forum Replies Created
-
AuthorPosts
-
去看闫老师主页
看着像在做 real-time path guiding 的样子。
都说了星际不能免费。
大佬留给小弟们一些锻炼的空间,别更那么快😂
This post has received 1 vote up.你想要检测是的光源上采样到的点 x 和 hitPoint 之间有没有遮挡,所以从 hitPoint 出发发射一条 ray。
t_min 和 t_max 之间就是你想检测有无交点的范围,t_min 是光线刚刚离开 hitPoint,t_max 则是光线刚刚达到 x。另外是否block是不是用intersectP来实现?
可以试试 ray 的 t_min 和 t_max 哦。
为何不试着发个邮件
v 的求法好像不对哦
看一下 MeshTriangle::getSurfaceProperties() 或许你就明白啦~
This post has received 3 votes up.虚拟机里的Ubuntu系统可以直接打开,windows 的话可以试试 photoshop 或者 tev。
它不会显示画面,你去找build目录下的结果图就好。
之前看过一遍这个网站的教程,做作业的时候就想起来了。
This post has received 3 votes up.这个讲的清楚
This post has received 2 votes up.代码贴一下,可能是相交检测那里出了点问题
那个height=700是最后结果图片的height=700。你想在世界坐标系下用1.0的高度来映射这个700呢,还是用2.0个高度来映射,靠的是这个scale。
此时的相机是lookfrom(0,0,0),lookat(0,0,-1)。若想修改为别的值,需要改动较多代码,具体可以参阅《Ray Tracing in One Weekend》的 ch10 Positionable camera。
x,y 应该是世界坐标系下的值。因为你要生成一个世界坐标系下的 ray。
dir 的 z 值是-1,因为成像平面在 z=-1 处。这样你求出成像平面上的 x,y 即可和 z 组成一个穿过成像平面上像素中点的 ray。你 normalize 之后就不是-1了。
嗯,可能楼主想的太复杂了。其实只是蛮简单的几个映射:
假设成像的x-y平面在z=-1处。
最开始,让 x=(i+0.5)/width,y=(j+0.5)/height,把 x,y映射到[0, 1]接着,把x,y映射到屏幕空间[-1, 1]
剩下的就是怎么把这个[-1, 1]映射到世界坐标了,首先x,y都乘上scale确定在世界坐标系下的成像平面(这时是个正方形)的高度,然后再给x乘上aspectRatio变为复原到矩形的成像平面。
This post has received 3 votes up.A点也是一个交点呀,为什么不用计算shadow ray呢?每个交点都要算的。
scale(tan(fov/2))是用来确定film的height的,你不用它如何确定height呢?
我记得之前一直是10点,只有作业三延期了是24点。😥
简单地说,SSAA需要为像素内的每个子采样点调用一次getColor(),而MSAA只需要整个像素调用一次。
这是谁的repo,老师不是在第一节课拜托大家不要公开实验代码吗😥
This post has received 1 vote up.因为它把x,y映射到0~255的方法是:
x,y ∈ [-1, 1]
x, y += 1
x,y ∈ [0, 2]
x, y /= 2
x,y ∈ [0, 1]
x, y *= 255.0f
x,y ∈ [0, 255.0f]把z映射到128~255的方法是:
z ∈ [0, 1]
z += 1
z ∈ [1, 2]
z /= 2
z ∈ [0.5, 1]
z *= 255.0f
z ∈ [128.0f, 255.0f]你可以看到这一加一除一乘三个操作完全一样,所以xyz一起映射与分开做是一样的。
This post has received 1 vote up.- This reply was modified 4 years, 9 months ago by Angus.
x, y轴不变是什么意思,不变它如何得出0~255的颜色值呢😂
可能我没理解你的意思。
欸?
result_color = (normal.normalized() + Eigen::Vector3f(1.0f, 1.0f, 1.0f)) / 2.f; result_color = result_color * 255.0f;
[-1, 1] + 1 = [0, 2]
[0, 2] / 2 = [0, 1]
[0, 1] * 255 = [0, 255]不是这样吗
因为要把normal的xyz坐标映射为 0~1 之间,这样再乘255才是0~255。链接里也说了:
X: -1 to +1 : Red: 0 to 255
Y: -1 to +1 : Green: 0 to 255
Z: 0 to -1 : Blue: 128 to 255所以文档里这个凹凸法线的可视化是偏暗的(大部分颜色值为负数,都被截去了)
而我的结果和normal shader的结果都是比较像大多数法线贴图的颜色,偏亮。 -
AuthorPosts