• 大小: 11.9MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-01
  • 语言: 其他
  • 标签: OpenGL纹理  

资源简介

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.embed.manifest

     文件        472  2015-04-23 14:49  OpenGL飘动的雏菊画布\lesson11\Debug\lesson11.exe.embed.manifest.res

     文件        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\link-cvtres.read.1.tlog

     文件          2  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link-cvtres.write.1.tlog

     文件          2  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.8804-cvtres.read.1.tlog

     文件          2  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.8804-cvtres.write.1.tlog

     文件          2  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.8804.read.1.tlog

     文件          2  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.8804.write.1.tlog

     文件       1514  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.command.1.tlog

     文件       3026  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.read.1.tlog

     文件        804  2015-04-25 16:23  OpenGL飘动的雏菊画布\lesson11\Debug\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论