gpt4 book ai didi

c++ - 多边形上的 OpenGL 光照

转载 作者:行者123 更新时间:2023-11-28 02:46:50 25 4
gpt4 key购买 nike

我正在写一个非常小的游戏,在这个游戏中玩家拿着手电筒。

游戏发生的世界是一个小房子。

问题是我的墙是通过绘制多边形绘制的,一个多边形就是一面墙。因此,当我将光照射到墙上时,它不会亮起,只有当光照射到其中一个顶点时,我才能看到一些光,并且只有那个顶点被点亮。

有什么方法可以使这个多边形的中间受到光线的影响,即使那里没有定义的顶点?

我还用位置灯测试了它,它也只影响顶点。

最佳答案

你在这里看到的是Gouraud shading ,或者只是每个顶点光照。这就是OpenGL的固定函数pipleline实现的。然而,在这个千年里,没有人在使用它。你要的是Phong shading ,或每像素/每片段光照。在 OpenGL 中,这意味着您必须使用可编程管道 并且必须编写您自己的着色器。但无论如何您都应该这样做,因为自 GL3 以来固定功能管道已被声明弃用,并且实际上已从 OpenGL 的现代核心配置文件中删除

所以我建议你应该学习现代 OpenGL,也许通过学习一些教程:

第一个还涵盖了一般照明主题和每个片段照明 (e.g. here),但您应该意识到这些是更高级的主题,初学者需要一些时间来学习所有基础知识第一的。

关于c++ - 多边形上的 OpenGL 光照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com