Advertisement

Games101作业1及作业7_C++编程实现

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本项目包含两部分C++程序开发工作,对应于《Games101》课程中的第一次和第七次作业。内容涵盖了基础图形学算法与游戏设计初步概念的实现。 关于GAMES101作业一的作业框架,主要任务是完成有关投影矩阵的部分。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Games10117_C++
    优质
    本项目包含两部分C++程序开发工作,对应于《Games101》课程中的第一次和第七次作业。内容涵盖了基础图形学算法与游戏设计初步概念的实现。 关于GAMES101作业一的作业框架,主要任务是完成有关投影矩阵的部分。
  • GAMES1011(提升版)
    优质
    本作业为《GAMES101》课程的进阶练习,涵盖计算机图形学基础理论与应用实践的深度探讨,旨在帮助学生巩固和提高相关知识技能。 【GAMES101】作业1(提高)的版本已经更新了,包含了更多的细节与挑战,旨在帮助大家更好地理解和掌握课程内容。如果有任何问题或需要进一步讨论的地方,请随时提出,在社区内大家一起交流学习心得、解决问题会更有益处。希望这次作业能够激发同学们的兴趣,并促进彼此之间的合作与进步。 注意:上述描述中并未包含原文中的具体联系方式和链接信息,因此在重写时未做额外修改处理。
  • GAMES101-代计算机图形学课笔记(07)
    优质
    本笔记涵盖了GAMES101课程第七次作业的相关内容,详细记录了现代计算机图形学中的关键概念和实践技巧。 在之前的练习中,我们实现了 Whitted-Style Ray Tracing 算法,并且使用 BVH 等加速结构来优化求交过程。本次实验将在上一次的基础上实现完整的 Path Tracing 算法。至此,我们已经来到了光线追踪部分的最后一节内容。
  • GAMES101代计算机图形学课笔记(05)
    优质
    本笔记为GAMES101现代计算机图形学课程第五次作业的学习总结,涵盖了光照模型、材质属性及渲染技术等核心内容。 在这部分课程中,我们将专注于使用光线追踪来渲染图像。在光线追踪中最关键的操作之一是找到光线与物体的交点。一旦找到了这个交点,就可以执行着色并返回像素颜色。本次作业的任务包括实现两部分内容:生成光线和计算光线与三角形的相交。 代码框架的工作流程如下: 1. 从 `main` 函数开始,定义场景参数,并向其中添加球体或三角形等物体以及其材质属性,同时设置光源。 2. 调用 `Render(scene)` 函数。在遍历所有像素的过程中生成对应的光线并将得到的颜色保存到帧缓冲区中,在渲染完成后将帧缓冲区的信息保存为图像文件。 3. 在生成每个像素的对应光线后调用 `CastRay` 函数,该函数通过调用 `trace` 来查找最近的物体交点。 4. 然后在找到的交点处执行着色操作。已提供了三种不同的着色情况供选择。 你需要修改以下代码: - 在 `Renderer.cpp` 的 `Render()` 中为每个像素生成对应光线并调用 `castRay()` 函数以获取颜色,然后将该颜色存储到帧缓冲区中。 - 修改 `Triangle.hpp` 中的 `rayTriangleIntersect()`: 此函数需要使用 Moller-Trumbore 算法更新参数。其中 v0, v1, v2 分别是三角形的三个顶点,orig 是光线起点,dir 是单位化的方向向量;而 tnear、u 和 v 则作为输出变量由算法计算得出。
  • GAMES101-参考材料0-8框架与大资料.rar
    优质
    此资源包包含《游戏工程基础》(GAMES101)课程从第0讲到第8讲的所有作业参考材料和大作业所需资料,旨在帮助学生更好地理解和完成课程任务。 GAMES101-作业0包括8个框架以及大作业的参考资料。
  • 180-练习-1
    优质
    本作业为课程《180》中的第一次作业练习,旨在帮助学生巩固课堂所学知识,并通过实践加深理解。包含多项练习题,要求学生在规定时间内完成提交。 1. 将以下程序划分为基本块并绘制程序流程图。 2. 对于下面的程序进行基本块划分,并制作其程序流图。 解答:可将该程序划分为如下基本块。
  • Python课1
    优质
    本作业为Python课程的第一项任务,旨在帮助学生掌握基础语法和编程技巧,通过实践项目加深理解。 设计方案应首先明确要解决的问题,并抽象出与之相关的数据(包括内容和要求)。然后给出使用Python工具从网上获取这些数据源的方法。对于获取到的数据源,构建一个模型。
  • 机械建模课(Matlab代码)
    优质
    本课程作业及大作业聚焦于使用Matlab进行机械建模实践,涵盖从基础模型构建到复杂系统模拟的各项技能,旨在提升学生在工程设计中的编程与分析能力。 机械建模各章节课程作业及大作业涵盖了使用Matlab建立减震系统数学模型的内容,并通过Simulink进行建模仿真分析汽车底盘减震系统的特性。主要探讨了弹性系数与减震器黏度系数对系统减震性能的影响。
  • GAMES101-代计算机图形学学习记录(02)
    优质
    《GAMES101-现代计算机图形学学习记录》是针对课程作业02的学习心得和总结,涵盖了计算机图形学的基础理论与实践应用。 GAMES101-现代计算机图形学学习笔记(作业02) 1. 修改函数 `rasterize_triangle(const Triangle& t)` in `rasterizer.cpp`: 实现与作业 2 类似的插值算法,实现法向量、颜色和纹理颜色的插值。 2. 修改函数 `get_projection_matrix()` in `main.cpp`: 将你自己在之前的实验中实现的投影矩阵填到此处。此时你可以运行`./Rasterizer output.png normal`来观察法向量实现结果。 3. 修改函数 `phong_fragment_shader()` in `main.cpp`: 实现 Blinn-Phong 模型计算 Fragment Color. 4. 修改函数 `texture_fragment_shader()` in `main.cpp`: 在实现 Blinn-Phong 的基础上,将纹理颜色视为公式中的 kd,完成 Texture Shading Fragment Shader。 5. 修改函数 `bump_fragment_shader()` in `main.cpp`: 在实现 Blinn-Phong 的基础上,并仔细阅读该函数中的注释以实现 Bump mapping. 6. 修改函数 `displacement_fragment_shader()` in `main.cpp`: 在实现 Bump mapping 的基础上,进一步完成 displacement mapping。 7. 实现双线性纹理插值: 使用双线性插值进行纹理采样, 并在 Texture 类中添加一个新方法`Vector3f getColorBilinear(float u, float v)`。通过 fragment shader 调用它来实现这一功能。为了使双线性插值的效果更加明显,建议选择更小的纹理图。请同时提交纹理插值与双线性纹理插值的结果,并进行比较。