gpt4 book ai didi

c++ - 处理对象内对象的光照

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:26 25 4
gpt4 key购买 nike

基本上我正在编写一个 C++ 程序来绘制世界中的对象,当我旋转/平移一个由多个对象组成的对象时,我在照明方面遇到了一些困难(例如,一个树对象由一个圆柱体组成树干对象和树叶金字塔对象)。

我现在有一个可用的光源,但在旋转对象的子组件(如金字塔对象在其父对象树中)时遇到了一些问题。

当我对树对象应用旋转时,所有照明/阴影都有效,但如果我尝试在树内旋转金字塔对象,照明会变得不稳定和随机。我真的希望有人可以提供一些关于我可能遇到的问题的提示或提示?

编辑:这个项目有很多文件,很难在这里列出足够多的文件来给出完整的图片。基本上我的步骤是:

  1. 设置一个具有正常运行的 opengl 光源的世界。
  2. 创建一个具有与之关联的变换矩阵的形状对象。
  3. 使用形状及其矩阵并计算其法线以用于着色。
  4. 现在创建一个由其他形状对象组成的新形状对象,并将其扔到世界中以使光照生效。
  5. 现在问题发生在这里。如果我旋转父对象,照明很好,但如果我旋转子对象,照明变得随机。

最佳答案

我在我的代码中发现了问题。我过于频繁地更新法线,所以 opengl 照明无法使用糟糕的法线。

感谢大家的帮助!

关于c++ - 处理对象内对象的光照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13547978/

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