资源简介
借鉴了一位博主的林中小屋,运用opengl函数画的一个小屋(包含源代码),visio studio运行,本人运行没问题,如果下载之后有问题可以私戳我
代码片段和文件信息
#include
#include
#include
#include
#include
float flag=1.0;
GLfloat theta=3.1415*0.2fai=3.1415*0.7;
GLfloat P0X=120.0*sin(theta)*sin(fai)P0Y=120*cos(fai)P0Z=120.0*cos(theta)*sin(fai);
int windowwwindowh; //窗口的宽和高
static GLuint texName; //纹理组的名称 //依序为月亮、侧面、地面
GLuint drawwalllistsunlistrooflisttreeliststoolliststartList; //贴环境纹理的显示列表
GLUquadricObj *qobj;
//------------------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------
void readimage(char* filenameBYTE* imagedata) //所读图片均为24位bmp且宽度补齐至四字节边界
{
BITMAPFILEHEADER bf; //文件头
BITMAPINFOHEADER bi; //信息头
int m_ImageWidth; //图象宽度
int m_ImageHeight; //图象高度
FILE *fp1; //文件指针,fp1为源文件
//打开文件,到文件指针
if((fp1=fopen(filename“rb“))==NULL)
{
MessageBox(NULL“文件打开错误““warning“MB_OK);
}
fread((LPSTR)&bfsizeof(BITMAPFILEHEADER)1fp1); //读取文件头,读取以后文件指针在文件头末尾(即信息头)
fread((LPSTR)&bisizeof(BITMAPINFOHEADER)1fp1); //读取信息头
m_ImageWidth=bi.biWidth; //给图象宽度赋值
m_ImageHeight=bi.biHeight; //给图象高度赋值
fread(imagedatam_ImageHeight*m_ImageWidth*31fp1); //读取图象数据
fclose(fp1);
}
//----------------由于读进来的图记录顺序为BGR,改为RGB---------------------------------------------------------------------------
void adjustimage(BYTE* imagedataint wint h)
{
BYTE temp;
for(int i=0;i {
temp=imagedata[i*3];
imagedata[i*3]=imagedata[i*3+2];
imagedata[i*3+2]=temp;
}
}
//------------------------设置纹理----------------------------------------------------------------------------------------
void loadtexture()
{
glGenTextures(5 &texName); //创建并绑定纹理对象
glBindTexture(GL_TEXTURE_2D texName);
{
BYTE imagesun[256][256][3]; //太阳的纹理
readimage(“sun.bmp“&imagesun[0][0][0]);
adjustimage(&imagesun[0][0][0]256256);
glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_WRAP_S GL_REPEAT); //设置wrap参数方式如下
glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_WRAP_T GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_MAG_FILTERGL_NEAREST); //为纹理的放大和缩小滤波设置相关的控制选项
glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_MIN_FILTERGL_NEAREST); //其中GL_LINEAR对应线性滤波,GL_NEAREST对应最近邻滤波方式
glTexImage2D(GL_TEXTURE_2D 0 GL_RGB 256256 0 GL_RGB GL_UNSIGNED_BYTE imagesun);// 定义纹理图像
}
{
BYTE imagesky[256][64][3];
readimage(“starlow.bmp“&imagesky[0][0][0]);
adjustimage(&imagesky[0][0][0]25664);
glBindText
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 221261 2020-05-03 11:37 程序\Debug\main.exe
文件 283608 2020-05-03 11:37 程序\Debug\main.ilk
文件 42385 2020-05-03 11:37 程序\Debug\main.obj
文件 3707280 2020-05-02 17:27 程序\Debug\main.pch
文件 533504 2020-05-03 00:22 程序\Debug\main.pdb
文件 148480 2020-05-03 12:00 程序\Debug\vc60.idb
文件 77824 2020-05-03 00:22 程序\Debug\vc60.pdb
文件 196662 2020-04-30 23:45 程序\floor.bmp
文件 15729 2020-05-03 00:22 程序\main.cpp
文件 3377 2020-05-03 11:57 程序\main.dsp
文件 516 2020-05-03 12:05 程序\main.dsw
文件 41984 2020-05-03 12:05 程序\main.ncb
文件 48640 2020-05-03 12:05 程序\main.opt
文件 242 2020-05-03 12:00 程序\main.plg
文件 196662 2020-04-30 23:52 程序\roof.bmp
文件 49206 2020-04-30 23:31 程序\starlow.bmp
文件 196662 2020-04-30 22:49 程序\sun.bmp
目录 0 2020-05-04 00:51 程序\Debug
目录 0 2020-05-04 00:51 程序
----------- --------- ---------- ----- ----
5764022 19
- 上一篇:数据库课程设计学生选课管理系统
- 下一篇:layui模板资源.rar
相关资源
- OpenGL安装包.zip
- OpenGl读取obj格式文件
- Opencv2.1 的dll和lib文件 win系统的
- OpenNI 官方版适用于Windows 32位系统
- smack(4.1.6)+openfire(4.0.2)的运用实
- HDR_Code_Image.rar for opencv
- OpenGL Shading Language (3rd Edition)
- opendaylight Lithium 中文说明书
- VC实现OpenGL三维绘图
- opencv毕业设计
- vsp_file_types_meshing
- OpenDDS Version 3.12中文版
- OpenGL_Nehe(NeHe中文教程)pdf+源码
- opencv3.4.1+opencv_contrib经vs2015编译后生成
- opencv交叉编译过程中boostdesc_bgm.i等一
- OpenGL配置文件
- OpenGL安装包
- OPENGL读取obj模型_visual stdio2015
- OpenSceneGraph 3.0 Beginner’s Guide.pdf
- OpenFOAM研究博文集
- opengl + glfw _glad 实现天空盒
- Simulating planar reflection using two-pass re
- openflow 源代码
- 详细的openmv教程
- OpenFst-1.6.5.tar.gz
- openmeetings-5.0.0-M1二次开发参考文档.
- windows64的curl库支持openssl)
- opencv网络摄像头功能和文件传输功能
- openssl(arm64armv7sarmv7x86_64i386)
- opencv410编译好的32位库
评论
共有 条评论