All pastes #257513 Raw Edit

Someone

public c v1 · immutable
#257513 ·published 2006-11-25 12:35 UTC
rendered paste body
//Includes and Define's:#include "main.h"//Globals:extern BOOL				g_bKeys[256];extern HDC				g_hdc;UINT					g_uTexture;FLOAT					g_fRotation = 0.0f;FLOAT					g_fAlpha = 1.0f;UINT					g_uFont;//Functions:void Initialize(){	HFONT font, oldfont;	//Set OpenGL options	glClearColor(0.0f, 0.0f, 0.0f, 0.5f);	glClearDepth(1.0f);	glDepthFunc(GL_LEQUAL);	glEnable(GL_DEPTH_TEST);	glEnable(GL_TEXTURE_2D);	glEnable(GL_BLEND);	glShadeModel(GL_SMOOTH);	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);	//Load texture	#ifdef _DEBUG		g_uTexture = LoadTextureRAW("C:\\Documents and Settings\\cesar\\Mijn documenten\\Visual Studio 2005\\Projects\\OpenGL Template\\release\\texture.raw", 256, 256);	#else		g_uTexture = LoadTextureRAW("texture.raw", 256, 256);	#endif	//Load a font	g_uFont = glGenLists(96);	font = CreateFont(-12, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, FF_DONTCARE|DEFAULT_PITCH, "Arial");	oldfont = (HFONT)SelectObject(g_hdc, font);	wglUseFontBitmaps(g_hdc, 32, 96, g_uFont);	SelectObject(g_hdc, oldfont);	DeleteObject(font);	//Create a timer	timer_Set(1, 30, &RotateQuadOfDoom);	trace("Initialized");}void Deinitialize(){	//Delete font	glDeleteLists(g_uFont, 96);	//Delete texture	glDeleteTextures(1, &g_uTexture);	trace("Deinitialized");}void Render(){	glClearColor(0.0f, 0.0f, 0.0f, 0.0f);	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	//text!	glLoadIdentity();	glTranslatef(0.0f,0.0f,-1.0f);	glColor3f(0.0f, 1.0f, 0.0f); //when i change it to anything other than 0.0f, 1.0f, 0.0f, it shows black text	glRasterPos2f(0.2f, 0.0f);	DisplayText(10, 10, g_uFont, "Hello World! %.f degrees!", g_fRotation);	glLoadIdentity();	glTranslatef(0.0f, 0.0f, -4.0f);	glRotatef(g_fRotation, 0.0f, 1.0f, 0.0f);	//Blend!	glColor4f(1.0f, 1.0f, 1.0f, g_fAlpha);	glBlendFunc(GL_SRC_ALPHA,GL_ONE);	//Quad with texture:	glBindTexture(GL_TEXTURE_2D, g_uTexture);	glBegin(GL_QUADS);	if(g_fRotation <= 90 || g_fRotation >= 270){		glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 0.0f);		glTexCoord2f(1.0f, 0.0f); glVertex3f(1.0f, -1.0f, 0.0f);		glTexCoord2f(1.0f, 1.0f); glVertex3f(1.0f, 1.0f, 0.0f);		glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 0.0f);	}else{		glTexCoord2f(1.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 0.0f);		glTexCoord2f(0.0f, 0.0f); glVertex3f(1.0f, -1.0f, 0.0f);		glTexCoord2f(0.0f, 1.0f); glVertex3f(1.0f, 1.0f, 0.0f);		glTexCoord2f(1.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 0.0f);	}	glEnd();}void KeyDown(UINT key){	}void KeyUp(UINT key){	switch(key){		case VK_ESCAPE:			PostQuitMessage(0);		break;		case 'T':			if(glIsEnabled(GL_TEXTURE_2D)){				glDisable(GL_TEXTURE_2D);				trace("Disabled textures");			}else{				glEnable(GL_TEXTURE_2D);				trace("Enabled textures");			}		break;		case 222:			trace("console!");		break;		case VK_UP:			g_fAlpha += 0.05f;			if(g_fAlpha > 1.0f){				g_fAlpha = 1.0f;			}			trace("Set alpha: %d%", (INT)(g_fAlpha*101));		break;		case VK_DOWN:			g_fAlpha -= 0.05f;			if(g_fAlpha < 0.0f){				g_fAlpha = 0.0f;			}			trace("Set alpha: %d%", (INT)(g_fAlpha*101));		break;	}}void RotateQuadOfDoom(UINT id){	if(!g_bKeys[VK_SPACE]){		if(g_fRotation >= 360){			g_fRotation = 0;		}else{			g_fRotation += 1;		}	}}void DisplayText(INT x, INT y, UINT font, LPSTR pszFormat, ...){	LPSTR pszText;	va_list args;	INT iSize;	va_start(args, pszFormat);	iSize = _vscprintf(pszFormat, args) + 3;	pszText = (LPSTR)GlobalAlloc(GPTR, iSize);	vsnprintf(pszText, iSize, pszFormat, args);	va_end(args);	glPushAttrib(GL_LIST_BIT);	//glLoadIdentity();	//glTranslated(x, y, 1);	glListBase(font - 32);	glCallLists(strlen(pszText), GL_UNSIGNED_BYTE, pszText);	glPopAttrib();	GlobalFree(pszText);}