Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理对象中对象的照明 基本上我正在编写一个C++程序来绘制物体在一个世界中,当我旋转/翻译一个由多个对象组成的对象时,我遇到了一些困难。例如,树对象由树干的圆柱对象和叶子的金字塔对象组成。_C++_Opengl_Object_Rotation_Lighting - Fatal编程技术网

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

处理对象中对象的照明 基本上我正在编写一个C++程序来绘制物体在一个世界中,当我旋转/翻译一个由多个对象组成的对象时,我遇到了一些困难。例如,树对象由树干的圆柱对象和叶子的金字塔对象组成。,c++,opengl,object,rotation,lighting,C++,Opengl,Object,Rotation,Lighting,我现在有一个工作光源,但在旋转对象的子组件时遇到了一些问题,比如在其父对象树中旋转金字塔对象 当我对树对象应用旋转时,所有照明/着色都会工作,但如果我尝试在树内旋转棱锥体对象,则照明会变得不稳定和随机。我真的希望有人能给我一些关于我可能遇到什么的建议或提示 编辑:这个项目有很多文件,在这里很难给出完整的图片。基本上,我的步骤是: 设置一个具有正常工作的opengl光源的世界。 创建具有关联变换矩阵的形状对象。 使用形状及其矩阵并计算其法线以用于着色。 现在创建一个由其他形状对象组成的新形状对象,

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

当我对树对象应用旋转时,所有照明/着色都会工作,但如果我尝试在树内旋转棱锥体对象,则照明会变得不稳定和随机。我真的希望有人能给我一些关于我可能遇到什么的建议或提示

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

设置一个具有正常工作的opengl光源的世界。 创建具有关联变换矩阵的形状对象。 使用形状及其矩阵并计算其法线以用于着色。 现在创建一个由其他形状对象组成的新形状对象,并将其扔到世界中以使照明生效。 现在问题发生在这里。如果旋转父对象,照明效果良好,但如果旋转子对象,照明效果将变得随机。
我在代码中发现了问题。我更新法线的频率太高,所以opengl照明的法线不好


谢谢大家的帮助

你能展示一些源代码吗?贴一张不可靠的图片。你可以直接上传到StackOverflow。您是在创建金字塔,还是在创建过剩调用或模型加载?