opengl项目简述

准备工作:

纹理图片,用画图软件建立32*32, 128*128与512*512的图片来作为外景的纹理。

用uv建模软件建立飞行器模型,建立坐标v,法向量vn,和纹理坐标vt,导出obj文件。

建立LoadOBJ的方法,因为obj文件的存储方式是罗列坐标和向量数据和他们的组合方式f,所以只要读懂obj文件的数据存储格式就不难把原模型恢复到版面中了。


库文件:

Glut:(英文全写:OpenGL Utility Toolkit)是一个处理OpenGL程式的工具库,负责处理和底层操作系统的呼叫以及I/O,就是那种建立窗口,调整窗口,双缓存那种基本的方法的库。

Glaux:主要是用于读取BMP图片和图片相关的一些方法,其中AUX_RGBImageRec结构体用于贴纹理(sizeX,sizeY,data)。

Glm.hpp:<glm::vec3>,<glm::vec2>二维三维的坐标使用起来很方便,glmUnitize方法把模型归一化到一个0.5边长的正方体里。glmScale把模型伸缩变换。等等




正文程序:

建立反射光,散射光和环境光的模拟光照系统,4个光照360度无死角照绕整个飞行器的。

写读取BMP和OBJ文件并且把数据存储起来的方法。

把BMP做成纹理,把绑定纹理和指定纹理。

变幻光照的强度来和颜色来造成白天黑夜的效果。

后表面完全填充模式,抗锯齿,双缓冲,雾气的一些技术。


特色:

飞机飞行的方法,最常见的两种是飞机飞行或者外景挪动。但是都不太适合这种小型模型制作,首先飞机和视觉的坐标会挪动,虽然可以push和pop但是处理起来不方便,而且外景的铺垫会浪费空间和时间(有点强迫症)。于是我想了一个办法,贴纹理的过程是先把纹理存储到模板里面,然后再拿出来渲染,我把渲染的版面分割成45份(足够小就行)然后每块分别往后挪动就能造成移动的视觉了,这样就可以最大程度节省空间和时间了。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值