Graphics 有物体作为光源的,如太阳

Graphics 有物体作为光源的,如太阳,graphics,directx,Graphics,Directx,我正在为课堂制作太阳系模型,在对物体进行不同的变换和旋转时,我没有遇到任何实际问题 但有一个要求让我困惑不解,位于0,0,0的太阳必须是光源。我已经在那个位置创建了一个点光源,并对其进行了配置。问题是太阳不是被光照亮的,我猜是因为光是从太阳内部来的,所以它不会反射到外面去照亮它,有人对如何使其正常工作有一些建议吗?发光对象通常是通过将材质的发射系数设置为黑色以外的值来创建的。在OpenGL中,这是使用glMaterial和GL_EMISSION完成的。使用direct3d,您可能希望更改D3DM

我正在为课堂制作太阳系模型,在对物体进行不同的变换和旋转时,我没有遇到任何实际问题


但有一个要求让我困惑不解,位于0,0,0的太阳必须是光源。我已经在那个位置创建了一个点光源,并对其进行了配置。问题是太阳不是被光照亮的,我猜是因为光是从太阳内部来的,所以它不会反射到外面去照亮它,有人对如何使其正常工作有一些建议吗?

发光对象通常是通过将材质的发射系数设置为黑色以外的值来创建的。在OpenGL中,这是使用glMaterial和GL_EMISSION完成的。使用direct3d,您可能希望更改D3DMATERIAL9的发射参数

此系数允许您创建一个似乎发射灯光的对象,而不仅仅是从其他光源反射灯光。请注意,该系数是一种颜色,与漫反射系数和环境光系数相同,因此可以为太阳发射一点黄色


太阳周围通常也有某种光环。这无法用发射系数或其他传统的照明和着色机制轻松模拟。您可能希望尝试使用具有alpha混合纹理的面向摄影机的四边形来模拟它。

发光对象通常是通过将材质的发射系数设置为黑色以外的值来创建的。在OpenGL中,这是使用glMaterial和GL_EMISSION完成的。使用direct3d,您可能希望更改D3DMATERIAL9的发射参数

此系数允许您创建一个似乎发射灯光的对象,而不仅仅是从其他光源反射灯光。请注意,该系数是一种颜色,与漫反射系数和环境光系数相同,因此可以为太阳发射一点黄色


太阳周围通常也有某种光环。这无法用发射系数或其他传统的照明和着色机制轻松模拟。您可能希望尝试使用一个具有alpha混合纹理的面向摄影机的四边形来模拟它。

您可以将太阳法线转向内部,使其朝向x、y和z方向。现在,它们都将指向点光源


TBH虽然只是将其作为特例渲染而不照亮更简单。

您可以旋转太阳法线,使其朝向内部,从而简单地抵消x、y和z。现在,它们都将指向点光源

TBH虽然只是将其作为特例渲染而不是照亮它更简单