在屏幕上画出一个实心三角形.
相较于hw1,多了一些内容,需要好好看下框架.
判断$(x,y)$对应的pixel否在三角形内部.
1 | static bool insideTriangle(int x, int y, const Vector3f* _v) |
先限定下founding box范围,提高效率
1 | void rst::rasterizer::rasterize_triangle(const Triangle& t) { |
在屏幕上画出一个实心三角形.
相较于hw1,多了一些内容,需要好好看下框架.
判断$(x,y)$对应的pixel否在三角形内部.
1 | static bool insideTriangle(int x, int y, const Vector3f* _v) |
先限定下founding box范围,提高效率
1 | void rst::rasterizer::rasterize_triangle(const Triangle& t) { |
总的来说,hw1是比较简单的.
本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵,只要记得上课时候给的公式,写进去就行.
注意,cos,sin等,需要的参数为弧度制(rad),而不是角度制
1 | Eigen::Matrix4f get_model_matrix(float rotation_angle) { |
先进行挤压,再进行正交投影得到结果
persp2ortho
ortho
projection = ortho * persp2ortho * projection;
1 | Eigen::Matrix4f get_projection_matrix(float eye_fov, |
最后得到的结果与官方答案不同,图形倒转了.这是zNear值导致的.
根据课上的内容,看向的是Z轴负半轴,Z<0;
而代码中,看向Z正半轴,Z>0;
小问题懒得修改了.
顺便学习了一下cmake的相关知识
[[07archive/tech/cmake|cmake]]
GAMES:Graphics And Mixed Environment Symposium
101偏渲染
201偏动画
102偏建模
图像是由像素表达的离散的点
图形是具有数学表达的几何对象,矢量图
文字都是矢量图,不论怎么放大都是清晰的
储存的是点线的坐标,在经过重新计算之后,会清晰的呈现出来
光的计算科学
难绷,论坛上给的虚拟机是ubuntu18 并且是virtual box的版本.
想用vmware虚拟机跑.将vdi格式转化为vmdk,并创建对应的虚拟机.
问题在于VMware tools安装失败.每次安装完成之后,再reboot,就会变成没有VMware tools…搞不懂.
还是在windows上配置环境算了…
看了下windows配置eigen和opencv有点麻烦,选择换成虚拟机ubuntu20.04LTS自己配置
更新breaking news!
官方给的虚拟机,转换为vmware之后,vmwaretools安装成功了…
直接用就行了.配置环境结束.
遇上vscode编译时候报错
1 | /usr/bin/gcc -fdiagnostics-color=always -g /home/l4rk/games101/pa0.c -o /home/l4rk/games101/pa0 /usr/bin/ld: /tmp/ccjPHxdQ.o: in function `main': /home/l4rk/games101/pa0.c:6: undefined reference to `sin' collect2: error: ld returned 1 exit status |
判断游戏画面水平如何
可以去看画面的明暗.亮的,一般都是采用了全局光照技术.从技术层面来看更加优秀
特效是最简单的图形学技术应用
特效是特殊的效果.在平常生活中见得很少,即使特效出错,观众不一定看得出来.而对日常东西的渲染更为困难
Visualization
Virtual Reality
Digital Illustration数字图像处理
Simulation
Graphic User Interface
Typography矢量字体?
course topic
CG与CV
一切需要理解,猜测的都是计算机视觉的内容.
no clear boundaries
A Swift and Brutal Introduction to Linear Algebra
$\vec {a}$ 或者$\boldsymbol {a}$