MSAA -- 解决黑边 在作业中说到需要为每个像素点存储颜色和深度。 最终一个像素的颜色应当是存储的这四个颜色的平均值。 //the start loc of this 2*2 areaintloc_start = get_index(P.x(),P.y())*4;//this pixel real depfloatmindep = FLT_MAX;//4xMSAAfloatcount =0.
1.作业内容 在屏幕上画出一个实心三角形,换言之,栅格化一个三角形。 2.任务分析 rasterize_triangle()中分为以下几步操作: 2.1创建三角形的2维bounding box 这一步就是计算出三角形平行于坐标轴的外接矩形,减少计算量。 int xmin = floor(std::min(v[0][0],std::min(v[1][0],v[2][0]))); ...
GAMES101-作业2 春宵一刻 春宵一刻值千金,愿我们珍惜每一刻时光,珍惜眼前人 来自专栏 · 图形学-GAMES101 1 人赞同了该文章 作业2涉及的内容的锯齿、走样与抗锯齿、反走样,光栅化。Lecture5和Lecture6。 1.锯齿:采样频率不足导致导致图像边缘出现锯齿化的现象。原因是:信号频率太快,而采样频率太慢。 2.msaa...
前言: 个人作业代码: https://github.com/konYuii/Yui-GAMES101 IDE : Visual studio 2019 正文: 直接上光栅化部分的伪代码: 其中insideTriangle函数的逻辑:判断点P,三角形三点A,B,C PA cross BA, PB cros…
games101-作业2 在作业二中,需要修改的函数如下: rasterize_triangle(): 执行三角形栅格化算法。 static bool insideTriangle(): 测试点是否在三角形内。你可以修改此函数的定义,即可以按照自己的方式更新返回类型或函数参数。 根据作业说明,rasterize_triangle() 函数的内部工作流程如下:...
GAMES101作业2 作业任务: 填写并调用函数 rasterize_triangle(const Triangle& t). 即实现光栅化 该函数的内部工作流程如下: 创建三角形的 2 维 bounding box. 遍历此 bounding box 内的所有像素(使用其整数索引).然后,使用像素中 心的屏幕空间坐标来检查中心点是否在三角形内. 如果在内部,则将其位置处的插值...
作业2(games101) 先看作业要求 上运行结果(注意,如果和作业呈中心对称,大概率是左右手坐标系不一样,在投影矩阵中top计算那里加个负号就行) 未开启4xMSAA时 能看到严重锯齿 开启4xMSAA(记住这里绿色三角形的不自然黑边) 抗锯齿效果显著 先要实现一个辅助函数判断点是不是在三角形内,可以用叉乘判断,也可以计算...
【UE4】GAMES101 图形学作业2,总览在上次作业中,虽然我们在屏幕上画出一个线框三角形,但这看起来并不是那么的有趣。所以这一次我们继续推进一步——在屏幕上画出一个实心三角形,换言之,栅格化一个三角形。上一次作业中,在视口变化之后,我们调用了函数rasterize_wiref
作业三则深入到Shader层面,实现法向量、颜色、纹理颜色的插值,以及Blinn-Phong模型的着色,引入纹理映射,实现法线可视化、纹理渲染、Bump映射和Displacement映射。代码实现涉及多个Shaders,包括法线Shader、Phong Shader、纹理Shader、Bump Shader和Displacement Shader,每个Shaders实现特定功能,如光照计算、纹理...
games101作业2 从什么角度看os。--定义 用户角度操作界面操作方式,用户环境。开发者,虚拟机,给予的资源和函数调用方式。资源管理者。作业组织者。 目标,方便性,高效性。资源稀缺。 发展 单批处理:内存中一个任务(作业) 监控系统--人工取代 问题:slow performance。 cpu的发展solution:多道程序批处理...