sunlight.cpp

来自「c++程序」· C++ 代码 · 共 47 行

CPP
47
字号
// Sunlight.cpp: Implementierung der Klasse CSunlight.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Sunlight.h"

//////////////////////////////////////////////////////////////////////
// Konstruktion/Destruktion
//////////////////////////////////////////////////////////////////////

CSunlight::CSunlight()
{
	m_LightPosX = 0.0f;
	m_LightPosZ = 0.0f;
}

CSunlight::~CSunlight()
{

}

void CSunlight::UpdatePosition()
{
	// Set light position relative to transform
	GLfloat LightPos[] = { m_LightPosX, 1.7f, m_LightPosZ, 0.0f };
	glLightfv(m_GLLightIndex, GL_POSITION, LightPos);
}

void CSunlight::SetupLight(unsigned int iGLLightIndex, float fAmbient, float fDiffuse,
						   float fLightXPos, float fLightZPos)
{
	// Setup sunlight

	// Call base class to keep the light index
	CLight::SetupLight(iGLLightIndex);

	// Keep light position
	m_LightPosX = fLightXPos;
	m_LightPosZ = fLightZPos;

	GLfloat AmbientLight[] = { fAmbient, fAmbient, fAmbient, 1.0f };
	GLfloat DiffuseLight[] = { fDiffuse, fDiffuse, fDiffuse, 1.0f };
	glLightfv(m_GLLightIndex, GL_AMBIENT, AmbientLight);	  // Ambient
	glLightfv(m_GLLightIndex, GL_DIFFUSE, DiffuseLight);	  // Diffuse
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?