Forum Replies Created
-
AuthorPosts
-
据说是GAMES201结束之后,以讲座的形式把CS291讲一遍,我非常期待。
我觉得你应该想实现loop细分那个大作业,然后就涉及到一个绘制线框的问题,unity里面应该叫wireframe,就是只绘制模型的顶点之间的连线,而不实现着色和绘制其他效果。那么就把作业3的实现应该也可以,只绘制两个顶点之间的边的连接而把framebuffer忽视。不过作业3的问题就是线段绘制的锯齿太严重,如果使用openGL或者directX的接口会更好些,作业3好像只有DDA画线算法来绘制直线,不过这个也没关系。我觉得这个无所谓,只要你能实现细分算法,你可以将一个立方体细分成一个球体吧。至于中间的细节(比如锯齿)应该没那么重要,老师们看的应该是你怎么实现这个算法的细节和原理。我选的SSAO,不知道时间够不够做完,反正作业1因为注册时间的问题没提交成功,滚刀肉了。
看资料查论文,还没代码。
弄好了,文件目录的问题。
请问你是怎么解决的呢?我也碰到了这个问题,修改了一下cmakelist.txt文件,然而您上面截图中的问题不出现了,但是却无法编译成功了。怀疑是目录设置或者配置的问题,可assignment8.pdf中也没有提到这些。其他的作业都没碰到过这个问题。
Attachments:
You must be logged in to view attached files.做过一段时间游戏开发,之前主要聚焦2D领域。需要补上3D相关的知识,刚好看到闫老师在知乎上的广告,于是就关注进来了。首先要感谢论坛的组织者,闫老师以及各位助教老师的无私付出,为大家提供这么好的学习机会。
关于后续的学习,我也说说我个人的想法,也算是抛砖引玉。个人觉得如果是从事游戏开发行业,应该更多研究实时高质量渲染的相关领域,所以特别期待闫老师现在开设的CS291A,前两个月也粗略的刷完了real time rendering 4th。如果不讨论游戏开发的其他领域,架构设计,网络同步,物理碰撞等领域,而只讨论渲染的话,闫老师今年课上也说可以再结合一本OpenGL或者DirectX的相关书籍进行一些相关编程接口和语言的学习。算是从理论到实践之路。
RTR4很多人说讲的很全,但是不深入,不过我觉得对于一个资深的游戏图形开发人员来说,需要保证自己的知识结构完备,对于每个点都知道在说什么,有什么常用方法,RTR4是一本好书,当然看起来也很头痛,确实太厚了,而且内容很杂,很多内容都适合作为一本书来展开。然而如果想改进项目品质或者图像的品质,可以保持对前沿渲染技术的追踪,比如GPU Gems,GPU Pro,GPU Zen等,这些不需要体系化阅读,想到一些问题,去查找相关文论,阅读并实现,以达到为我所用的地地步。游戏界和学术界不同,游戏产品能否顺利上市,受很多因素影响,所以大部分产品都不会应用很多前沿的图形技术,因为要有性能,成本以及稳定性等方面的trade-off。当然,现在前沿的技术在一段时间以后也都会应用到游戏开发领域。
综合前人的推荐,我自己正在看这几本书,希望今年内都能读完:《Real Time Rending》,《OpenGL编程指南》,《DirectX12 3D游戏实战开发》,《游戏引擎架构》等,上文提到的《Ray tracing in one weekend》系列也很不错,我也在动手实践中。
当然研究代码也是需要的,比如Unreal的源代码或者Ogre的源代码。后面就是真正游戏项目的积累了,将自己掌握的知识和技巧应用到实际的游戏项目开发中去,做过几个项目之后,会有更深的体会。我个人觉得,真正的项目代码和书本中讲的实现还是有很大区别的,因此编程和调试能力也很重要,因为游戏项目最终要落实到可发布和运行的产品,如果产品有重大bug,产品是不能发布的。也算做了几年游戏了,现在发现,游戏技术开发还是比较复杂的行业,涉及的领域太多:架构设计,编程,调试能力,网络同步,图形图像技术,物理模拟,AI,Gameplay,UI,脚本,反作弊等,太多了。也希望能和大家互相学习,相互讨论,共同进步。刚好看到一篇文章,我的理解:payload应该是一个自定义数据结构,用于存放进行求交或者着色计算时的一些附加的必要信息,单纯的函数调用或者光线信息并不足以支撑某个点的着色计算,所以需要传递一些附加的信息。参考链接:https://new.qq.com/omn/20190527/20190527A0A2D2.html?pc
This post has received 1 vote up.Attachments:
You must be logged in to view attached files.百度把”circle of confusion”翻译成”模糊圈,散光圈,散射圆盘”,百度百科的词条直接指向一个叫做”弥散圆”的词条,不知道这样的翻译是否合理?确实很多词的翻译让人很头疼,比如大名鼎鼎的”鲁棒性”。
多打日志,逼近出错的代码。
“segmentation fault”是常见的运行时错误,一般发生在数组越界等代码中,这说明你的代码写的有问题。需要仔细检查你添加的代码。
我是在win10下配置的eigen和opencv,vscode的“tasks.json”文件中加入“”-I”, “F:\\tools”,”配置项,这个tools文件夹就是我存放下载的eigen的源代码的位置,然后代码中就可以导入了,目前亲测可用。就是生成的是.exe可执行文件,而不是linux系统下的可执行文件。不过windows下面可以验证结果。主要是我的笔记本开虚拟机太慢,而且虚拟机总出错,所以想了这么个法子。
-
AuthorPosts