Forum Replies Created
-
AuthorPosts
-
+1
摄像机离近点不行吗
你的crate怎么样
rock那个,应该是因为摄像机离太近了,导致rock的bounding值超过了700*700的像素,你把bounding的最大值,最小值分别和width/heigt,0进行一下比较,再框定一下。
或者移动摄像机,离得远一点。
老铁们我知道我错在哪儿了,texture.cpp中,getcolor()函数里面,应该把width-1,hieght-1。完了之后,双线性插值效果特别好
我找到原因了,du dv的计算那里,是颜色的norm相减
This post has received 4 votes up.你蹄子那儿好使吗
为啥你的色彩也这么浓郁
This post has received 1 vote up.原来是这样。谢谢~ 解释到位,给赞~
好了很多~就四条腿那块儿,灰白交界处依然毛躁
失误···这里公式忘了检查。。。但是改正了之后效果还是不好···
老铁,你改了哪里?我的出错结果和你的很像。我现在找不到出错点在哪
n是vector3f,h(u,v)是vector3f,不能直接‘*’吧?
直接‘*’是求点积,是一个数,point是一个vector3f,怎么能加一个数呢?
大佬,为什么你按照法线图的方式来写,得到的disp_n_question.png跟文档也不一样?
如果h(uv)是一个标量,表示的表面沿法线位移的距离,为什么要乘以n,也就是乘以normal呢,不应该加吗?
我觉得hmap.jpg像是一个法线空间下的法线纹理图,因为它大部分都是蓝色。高度纹理确实应该是灰度图,但是作业也把这一步省了。?
不光displacement,在bump map的时候,不是应该有一个normal = pixel * 2 -1 的公式吗?我也没看到····
我仅仅改动了文件路径,然后挨个试了个遍。不知道小伙伴们跟我效果一样不:
bunny只有模型,就normal,然后很小
crate似乎深度出问题了
cube两个png,试了其中一个(难道有一个是法线纹理?)
rock直接段错误This post has received 1 vote up.Attachments:
You must be logged in to view attached files.是的老铁。最大值+1。多谢
eigen文档看的太难受了····好多函数找不到正确的使用方法
老哥你是对的。谢谢~
好滴,谢谢助教
我交换了一下三角形,感觉效果也很好,没有黑边。我用的是独立的4倍缓存,总体而言,如果看起来是正确的,那我就认为它是正确的吧···虽然有时候我又觉得它work的不对。。感觉你讲的很到位!可能是我代码哪里还有有缺陷,谢谢!辛苦啦
我糊涂了。。如果按照判定条件,四个采样点,至少有一个符合条件就取颜色平均值,相当于最糟糕的情况是 green/4+black/4+black/4+black/4,不应该更黑吗??怎么反而没有黑边了呢。。。
大佬,为什么设置一个4倍的color_buf就能消除黑边啊??我还是没有搞懂。。
我是对四个采样点分别进行“是否在三角形内部”、“深度是否小于缓冲区深度”判断以后,若该采样点符合条件,就更新采样点对应的深度缓冲区和颜色缓冲区。
最后判断四个采样点中,若至少有一个符合上述两个条件,就取颜色平均值,然后setpixel(x,y,average_color)。
最后结果如图,但是我还是没搞懂为什么这能消除黑边。
因为,如果我程序中判断至少有两个采样点符合条件,才取颜色平均值,就会有黑边。
这说明,我只是求颜色平均值时,绿色占比多,把黑色给抹杀了,实际上并没有做到绿色+蓝色。
Attachments:
You must be logged in to view attached files.为什么要把vert.z() = vert.z() * f1 + f2改为vert.z() = -vert.z() * f1 + f2??
我透视投影、归一化、然后缩放以后,三角形的z值变换分别是
-2—>6.8—>0.97—>49.3
-5—>9.8—>0.98—>49.6我觉得不需要改变代码啊。
而且我认为经过透视投影以后,z值是正值才是正确的。三角形在-z的空间内,摄像机在+z的位置,又因为裁剪空间是左手系,也就是三角形经过mvp变换以后,变换到了裁剪空间下,z值就应该是正值啊。
(如下图,不知道我的理解是否正确)Attachments:
You must be logged in to view attached files.助教,-5经过透视投影后变为-0.983968,-2经过透视投影后变为-0.975379,他的计算是正确对吗?为什么我的透视投影后直接变成了正数。。。。
我按照这个层主的方法改了,然后结果和pdf的图一样了。原理如下:
把初始化的depth_buf变成了负无穷,然后判断三角形的深度,三角形z_value>depth_buf,写入depth_buf。
pdf里面,绿色的三角形z=-2,蓝色的三角形z=-5,所以绿色的在蓝色的前面。(没问题)但是!!!我觉得pdf说的有问题啊!!!!!:
我在程序得到中间输出了一下,
发现经过mvp变换以后,绿色三角形的z=7,蓝色三角形的z=10。
经过viewport变换以后,绿色三角形的z=50.8,蓝色三角形的z=50.6
然后pdf的材料说:z值越大表示离视点越远。。。。那50.8>50.6,意思就是绿色离视点远呗?按pdf的意思,应该蓝色在绿色的前面。。还有个问题,就是三角形的z值,经过mvp变换以后,不应该就固定了吗?viewport还需要改变
z值的大小吗??????????????Attachments:
You must be logged in to view attached files.这个源代码不是按照右手系来写的吗?。。那就按照右手系来规定z-buffer呗。。为啥还搞了个z反转。。。
-
AuthorPosts