资源简介
简单的3D教室漫游程序 Win32平台,OpenGL开发
代码片段和文件信息
//////////////////////////////////////////////////////////////////////
//
// OpenGL Texture Class
// by: Matthew Fairfax
//
// GLTexture.cpp: implementation of the GLTexture class.
// This class loads a texture file and prepares it
// to be used in OpenGL. It can open a bitmap or a
// targa file. The min filter is set to mipmap b/c
// they look better and the performance cost on
// modern video cards in negligible. I leave all of
// the texture management to the application. I have
// included the ability to load the texture from a
// Visual Studio resource. The bitmap‘s id must be
// be surrounded by quotation marks (i.e. “Texture.bmp“).
// The targa files must be in a resource type of “TGA“
// (including the quotes). The targa‘s id must be
// surrounded by quotation marks (i.e. “Texture.tga“).
//
// Usage:
// GLTexture tex;
// GLTexture tex1;
// GLTexture tex3;
//
// tex.Load(“texture.bmp“); // Loads a bitmap
// tex.Use(); // Binds the bitmap for use
//
// tex1.LoadFromResource(“texture.tga“); // Loads a targa
// tex1.Use(); // Binds the targa for use
//
// // You can also build a texture with a single color and use it
// tex3.BuildColorTexture(255 0 0); // Builds a solid red texture
// tex3.Use(); // Binds the targa for use
//
//////////////////////////////////////////////////////////////////////
#include “GLTexture.h“
#include
#include
#include
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLTexture::GLTexture()
{
}
GLTexture::~GLTexture()
{
}
void GLTexture::Load(char *name)
{
// make the texture name all lower case
texturename = strlwr(strdup(name));
// strip “‘s
if (strstr(texturename “\““))
texturename = strtok(texturename “\““);
// check the file extension to see what type of texture
if(strstr(texturename “.bmp“))
LoadBMP(texturename);
if(strstr(texturename “.tga“))
LoadTGA(texturename);
}
void GLTexture::LoadFromResource(char *name)
{
// make the texture name all lower case
texturename = strlwr(strdup(name));
// check the file extension to see what type of texture
if(strstr(texturename “.bmp“))
LoadBMPResource(name);
if(strstr(texturename “.tga“))
LoadTGAResource(name);
}
void GLTexture::Use()
{
glEnable(GL_TEXTURE_2D); // Enable texture mapping
glBindTexture(GL_TEXTURE_2D texture[0]); // Bind the texture as the current one
}
void GLTexture::LoadBMP(char *name)
{
// Create a place to store the texture
AUX_RGBImageRec *TextureImage[1];
// Set the pointer to NULL
memset(TextureImage0sizeof(void *)*1);
// Load the bitmap and assign our pointer to it
TextureImage[0] = auxDIBImageLoad(name);
// Just in case we want to use the width and height later
width = TextureImage[0]->sizeX;
height = TextureImage
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 98358 2007-12-09 14:41 Roaming System(可执行部分)\Data\backwall.bmp
文件 393272 2007-12-05 19:31 Roaming System(可执行部分)\Data\blackboard.bmp
文件 49206 2007-12-09 14:41 Roaming System(可执行部分)\Data\ceiling.bmp
文件 49206 2007-12-03 21:50 Roaming System(可执行部分)\Data\floor.bmp
文件 786486 2007-12-09 14:40 Roaming System(可执行部分)\Data\left.bmp
文件 1301 2007-12-05 23:26 Roaming System(可执行部分)\Data\platform.3DS
文件 33558 2007-12-09 13:43 Roaming System(可执行部分)\Data\platform.bmp
文件 133445 2007-12-07 18:51 Roaming System(可执行部分)\Data\pole.3DS
文件 383096 2007-12-07 13:10 Roaming System(可执行部分)\Data\pole.bmp
文件 786486 2007-12-09 14:40 Roaming System(可执行部分)\Data\right.bmp
文件 8596 2007-12-09 13:03 Roaming System(可执行部分)\Data\sdesk.jpg
文件 106851 2007-12-09 22:35 Roaming System(可执行部分)\Data\sdesk1.3DS
文件 223574 2007-12-09 22:33 Roaming System(可执行部分)\Data\sdesk2.3DS
文件 133261 2007-12-07 11:21 Roaming System(可执行部分)\Data\soundbox.3DS
文件 33558 2007-12-09 13:42 Roaming System(可执行部分)\Data\soundbox.bmp
文件 8495 2007-12-05 22:29 Roaming System(可执行部分)\Data\tdesk.3DS
文件 33558 2007-12-09 13:43 Roaming System(可执行部分)\Data\tdesk.bmp
..A.SH. 137216 2007-12-09 22:59 Roaming System(可执行部分)\Data\Thumbs.db
文件 294987 2007-12-10 21:33 Roaming System(可执行部分)\RoamingSystem.exe
文件 229 2007-12-10 21:33 Roaming System(可执行部分)\使用说明.txt
文件 127 2007-12-10 00:12 设计人员.txt
文件 98358 2007-12-09 14:41 Roaming System(工程部分)\Data\backwall.bmp
文件 393272 2007-12-05 19:31 Roaming System(工程部分)\Data\blackboard.bmp
文件 49206 2007-12-09 14:41 Roaming System(工程部分)\Data\ceiling.bmp
文件 49206 2007-12-03 21:50 Roaming System(工程部分)\Data\floor.bmp
文件 786486 2007-12-09 14:40 Roaming System(工程部分)\Data\left.bmp
文件 1301 2007-12-05 23:26 Roaming System(工程部分)\Data\platform.3DS
文件 33558 2007-12-09 13:43 Roaming System(工程部分)\Data\platform.bmp
文件 133445 2007-12-07 18:51 Roaming System(工程部分)\Data\pole.3DS
文件 383096 2007-12-07 13:10 Roaming System(工程部分)\Data\pole.bmp
............此处省略28个文件信息
相关资源
- OpenGL库(包括glewfreeglut和gltools)
- openGl 飞机模拟
- opengl绘制三维模型可用鼠标控制旋转
- opengl三维场景
- 计算机图形学opengl+shader几个
- opengl简单地形绘制
- OPENGL三维场景搭建、漫游、交互_vs2
- 基于体渲染的OpenGL烟雾模拟程序
- openGL下雨现象模拟
- OpenGL三维图形程序设计(Windows版)
- OpenGL实现鼠标旋转缩放平移操作
- Instagram Filters 破解了Instagram App的几十
- opengl 3d obj模型加载,贴图
- 实时计算机图形学 第二版英文版pdf格
- OpenGL实践三:水面涟漪的逼真绘制毕
- Opengl实现的Ray Casting 光线投射算法
- 天空盒(opengl)
- opengl图形学实验七 不同的光照渲染
- OpenGL-Nehe完整中文教程和全部源代码
- 扫描线填充算法的OpenGL实现
- OpenGL soil库与布置方法,位置
- 基于opengl的杯子模型
- opengl 红宝书 计算机图形学红宝书 图
- 一套基于QT、GDAL、OpenGL的遥感影像显
- OpenGL 画荷花
- OpenGL安装包+安装指导Windows平台
- freeglut,包括.dll、.h和.lib文件,完美
- OpenGL的虚拟校园漫游系统的设计与实
- 基于OpenGL的Loop网格细分
- OPenGL地层时适渲染LOD
评论
共有 条评论