⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 color_particle.cpp

📁 <B>《Realtime Rendering》的随书源代码
💻 CPP
字号:
#include "..\..\lib\Fly3D.h"
#include "gamelib.h"

int color_particle::step(int dt)
{ 
	return particle::step(dt);
}

void color_particle::draw()
{
	glDepthMask(GL_FALSE);
	glBlendFunc(GL_ONE, GL_ONE);
	glDisable(GL_FOG);

	tc->use(texture);

	glColor3f(color.x*color.w,color.y*color.w,color.z*color.w);
	
	static vector x,y;
	x=flyengine->cam->X*size;
	y=flyengine->cam->Y*size;

	glBegin(GL_QUADS);

	glTexCoord2f(1,0);
	glVertex3f(pos.x+x.x-y.x, pos.y+x.y-y.y, pos.z+x.z-y.z);

	glTexCoord2f(1,1);
	glVertex3f(pos.x+x.x+y.x, pos.y+x.y+y.y, pos.z+x.z+y.z);

	glTexCoord2f(0,1);
	glVertex3f(pos.x+y.x-x.x, pos.y+y.y-x.y, pos.z+y.z-x.z);

	glTexCoord2f(0,0);
	glVertex3f(pos.x-x.x-y.x, pos.y+-x.y-y.y, pos.z-x.z-y.z);

	glEnd();

	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
	if (flyengine->fog) glEnable(GL_FOG);
	glDepthMask(GL_TRUE);
}

⌨️ 快捷键说明

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