www.pudn.com > etree_src.zip > Leaf.cpp


//**************************************************************************** 
//  Leaf.cpp: implementation of the CLeaf class. 
// 
//  Copyright (c) Boris J. Wang (e_boris2002@hotmail.com) 2002 - 2003 
//  From Institute of Computing Technology, Chinese Academy of Sciences 
//                                                Beijing 100871, China 
// 
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF  
//  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO  
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A  
//  PARTICULAR PURPOSE. 
//**************************************************************************** 
 
#include "stdafx.h" 
#include "opengl.h" 
#include "Leaf.h" 
#include  
#include "tree.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
CglTexture		CLeaf::Tex(_T("leaf.bmp"),GL_Tex_BMP_RGA_RG0B,8); 
CglMaterial		CLeaf::Material; 
 
float CLeaf::A_M = 0.10; 
bool CLeaf::IsRenderShadow = false; 
int CLeaf::LastSizeNoiseSeqIndex = 0; 
float* CLeaf::SizeNoiseSeq = NULL; 
 
void CLeaf::InitLeafSizeNoiseSeq(BOOL UnInit) 
{ 
	if(UnInit) 
	{ 
		if(SizeNoiseSeq) 
		{ 
			delete [] SizeNoiseSeq; 
			SizeNoiseSeq = NULL; 
		} 
	} 
	else 
	{ 
		if(!SizeNoiseSeq) 
		{ 
			SizeNoiseSeq = new float[LF_SIZENOISESEQLEN]; 
			ASSERT(SizeNoiseSeq); 
			srand((unsigned)time(NULL)); 
			for(int i=0;i