资源简介
OpenGL实现飘动的三维图形,贴纹理,旋转等功能
代码片段和文件信息
/*
* This Code Was Created By bosco / Jeff Molofee 2000
* A HUGE Thanks To Fredric Echols For Cleaning Up
* And Optimizing The base Code Making It More Flexible!
* If You‘ve Found This Code Useful Please Let Me Know.
* Visit My Site At nehe.gamedev.net
*/
#include // Header File For Windows
#include // Header File For Standard Input/Output
#include // Header File For The Math Library
#include // Header File For The OpenGL32 Library
#include // Header File For The GLu32 Library
#include // Header File For The Glaux Library
HDC hDC=NULL; // Private GDI Device Context
HGLRC hRC=NULL; // Permanent Rendering Context
HWND hWnd=NULL; // Holds Our Window Handle
HINSTANCE hInstance; // Holds The Instance Of The Application
bool keys[256]; // Array Used For The Keyboard Routine
bool active=TRUE; // Window Active Flag Set To TRUE By Default
bool fullscreen=TRUE; // Fullscreen Flag Set To Fullscreen Mode By Default
float points[45][45][3]; // The Array For The Points On The Grid Of Our “Wave“
int wiggle_count = 0; // Counter Used To Control How Fast Flag Waves
GLfloat xrot; // X Rotation ( NEW )
GLfloat yrot; // Y Rotation ( NEW )
GLfloat zrot; // Z Rotation ( NEW )
GLfloat hold; // Temporarily Holds A Floating Point Value
GLuint texture[1]; // Storage For One Texture ( NEW )
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM); // Declaration For WndProc
AUX_RGBImageRec *LoadBMP(char *Filename) // Loads A Bitmap Image
{
FILE *File=NULL; // File Handle
if (!Filename) // Make Sure A Filename Was Given
{
return NULL; // If Not Return NULL
}
File=fopen(Filename“r“); // Check To See If The File Exists
if (File) // Does The File Exist?
{
fclose(File); // Close The Handle
return auxDIBImageLoad(Filename); // Load The Bitmap And Return A Pointer
}
return NULL; // If Load Failed Return NULL
}
int LoadGLTextures() // Load Bitmaps And Convert To Textures
{
int Status=FALSE; // Status Indicator
AUX_RGBImageRec *TextureImage[1]; // Create Storage Space For The Texture
memset(TextureImage0sizeof(void *)*1); // Set The Pointer To NULL
// Load The Bitmap Check For Errors If Bitmap‘s Not Found Quit
if (TextureImage[0]=LoadBMP(“Data/rbL.bmp“))
{
Status=TRUE; // Set The Status To TRUE
glGenTextures(1 &texture[0]); // Create The Texture
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D texture[0]);
glTexImage2D(GL_TEXTURE_2D 0 3 TextureImage[0]->sizeX TextureImage[0]->sizeY 0 GL_RGB GL_UNSIGNED_BYTE TextureImage[0]->data);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR);
}
if (TextureImage[0])
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 262198 2015-04-23 14:22 OpenGL飘动的雏菊画布\lesson11\Data\rbL.bmp
文件 66616 1999-12-05 00:12 OpenGL飘动的雏菊画布\lesson11\Data\Tim.bmp
文件 700 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\cl.command.1.tlog
文件 13266 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\CL.read.1.tlog
文件 346 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\CL.write.1.tlog
文件 524800 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.exe
文件 406 2015-04-23 14:49 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.exe.em
文件 472 2015-04-23 14:49 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.exe.em
文件 381 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.exe.intermediate.manifest
文件 1352288 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.ilk
文件 67 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.lastbuildstate
文件 2440 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.log
文件 51724 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.obj
文件 2509824 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.pdb
文件 713 2015-04-23 14:49 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.vcxprojResolveAssemblyReference.cache
文件 0 2015-04-23 14:49 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.write.1.tlog
文件 212 2015-04-23 14:49 OpenGL飘动的雏菊画布\lesson11\Debug\lesson11_manifest.rc
文件 2 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 2 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 2 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 2 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 2 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 2 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 1514 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 3026 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 804 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\li
文件 396 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\mt.command.1.tlog
文件 318 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\mt.read.1.tlog
文件 318 2015-04-25 16:23 OpenGL飘动的雏菊画布\lesson11\Debug\mt.write.1.tlog
文件 546 2015-04-23 14:49 OpenGL飘动的雏菊画布\lesson11\Debug\rc.command.1.tlog
............此处省略25个文件信息
评论
共有 条评论