📄 tree.cpp
字号:
// Tree.cpp: Implementierung der Klasse CTree.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Tree.h"
//////////////////////////////////////////////////////////////////////
// Konstruktion/Destruktion
//////////////////////////////////////////////////////////////////////
CTree::CTree()
{
// Init member variables
m_PosX = 0.0f;
m_PosY = 0.0f;
m_PosZ = 0.0f;
m_TreeSize = 0.4f;
m_TextureIndex = 0;
m_DistanceToViewer = 0.0f;
}
CTree::~CTree()
{
}
void CTree::DrawTree(float fYRotation)
{
// Draw the tree
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-m_TreeSize, 0.0f, 0.0f);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(m_TreeSize, 0.0f, 0.0f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(m_TreeSize, 2.0f * m_TreeSize, 0.0f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-m_TreeSize, 2.0f * m_TreeSize, 0.0f);
glEnd();
}
void CTree::CalculateDistance(float fXViewer, float fYViewer, float fZViewer)
{
// Calculate the distance from the tree to the viewer. The result is saved
// in the member data
// Don't call sqrt() for performance reasons. This doesn't calculate the
// real distance, but the value could be used for depth comparisations
m_DistanceToViewer = (fXViewer - m_PosX) * (fXViewer - m_PosX) +
(fYViewer - m_PosY) * (fYViewer - m_PosY) +
(fZViewer - m_PosZ) * (fZViewer - m_PosZ);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -