資源簡(jiǎn)介
視角可移動(dòng),旋轉(zhuǎn)的房間簡(jiǎn)單三維場(chǎng)景,有燈光,有陰影,導(dǎo)入OBJ文件,有紋理貼圖,對(duì)于初學(xué)者還是比較好的,簡(jiǎn)單易懂
代碼片段和文件信息
#include?“stdafx.h“
#include
#include
#include?
#include
#include
#include
#include
#include?
//?Include?GLM
#include?
#include?
#include
using?namespace?std;
static?double?seex=0.0;
static?double?seey=-20.0;
static?double?seez=50.0;
static?double?atx=0.0;
static?double?aty=-20.0;
static?double?atz=40.0;
static?double?angle1=0.0;
static?double?angle2=0.0;
static?double?dzx=0.0;
static?double?dzy=0.0;
const?double?Pi=3.141592653589793;
static?double?d=10;
GLuint?texture[6];??//為紋理分配空間
vector?vertices;??
vector?uvs;??
vector?normals;??
int?nodesSize;
bool?loadOBJ(
????????const?char?*?path
????????std::vector?&?out_vertices
????????std::vector?&?out_uvs
????????std::vector?&?out_normals
){
????????printf(“Loading?OBJ?file?%s...\n“?path);
????????std::vector?vertexIndices?uvIndices?normalIndices;
????????std::vector?temp_vertices;
????????std::vector?temp_uvs;
????????std::vector?temp_normals;
????????FILE?*?file?;
errno_t?err;
err=?fopen_s(&filepath?“r“);
????????if(?file?==?NULL?){
????????????????printf(“Impossible?to?open?the?file?!?Are?you?in?the?right?path???See?Tutorial?1?for?details\n“);
????????????????return?false;
????????}
?printf(“Loading?OBJ?file?%s...\n“?path);
????????while(?1?){
????????????????char?lineHeader[128];
????????????????//?read?the?first?word?of?the?line
????????????????int?res?=?fscanf_s(file?“%s“?lineHeadersizeof(128));
????????????????if?(res?==?EOF)
????????????????????????break;?//?EOF?=?End?Of?File.?Quit?the?loop.
????????????????//?else?:?parse?lineHeader
?
????????????????if?(?strcmp(?lineHeader?“v“?)?==?0?){
????????????????????//cout<<“Get?v“< ????????????????????????glm::vec3?vertex;
????????????????????????fscanf_s(file?“%f?%f?%f\n“?&vertex.x?&vertex.y?&vertex.z?);
????????????????????????temp_vertices.push_back(vertex);
????????????????}else?if?(?strcmp(?lineHeader?“vt“?)?==?0?){
????????????????????//cout<<“Get?vt“< ????????????????????????glm::vec2?uv;
????????????????????????fscanf_s(file?“%f?%f\n“?&uv.x?&uv.y?);
????????????????????????uv.y?=?-uv.y;?//?Invert?V?coordinate?since?we?will?only?use?DDS?texture?which?are?inverted.?Remove?if?you?want?to?use?TGA?or?BMP?loaders.
????????????????????????temp_uvs.push_back(uv);
????????????????}else?if?(?strcmp(?lineHeader?“vn“?)?==?0?){
????????????????????//cout<<“Get?vn“< ????????????????????????glm::vec3?normal;
????????????????????????fscanf_s(file?“%f?%f?%f\n“?&normal.x?&normal.y?&normal.z?);
????????????????????????temp_normals.push_back(normal);
????????????????}else?if?(?strcmp(?lineHeader?“f“?)?==?0?){
????????????????????//cout<<“Get?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-02-12?10:11??Sence1\
?????目錄???????????0??2015-02-12?10:06??Sence1\Debug\
?????文件??????184320??2015-02-12?10:07??Sence1\Debug\Sence1.exe
?????文件?????1004612??2015-02-12?10:07??Sence1\Debug\Sence1.ilk
?????文件?????3697664??2015-02-12?10:07??Sence1\Debug\Sence1.pdb
?????目錄???????????0??2015-02-11?14:50??Sence1\Sence1\
?????目錄???????????0??2015-02-12?10:07??Sence1\Sence1\Debug\
?????文件???????38060??2015-02-12?10:07??Sence1\Sence1\Debug\CL.read.1.tlog
?????文件????????1154??2015-02-12?10:07??Sence1\Sence1\Debug\CL.write.1.tlog
?????文件??????????92??2015-02-12?10:07??Sence1\Sence1\Debug\Sence1.lastbuildstate
?????文件????????1443??2015-02-12?10:07??Sence1\Sence1\Debug\Sence1.log
?????文件??????623564??2015-02-12?10:07??Sence1\Sence1\Debug\Sence1.obj
?????文件?????1179648??2015-02-11?23:51??Sence1\Sence1\Debug\Sence1.pch
?????文件????????3010??2015-02-12?10:07??Sence1\Sence1\Debug\cl.command.1.tlog
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
?????文件???????????2??2015-02-12?10:07??Sence1\Sence1\Debug\li
............此處省略93個(gè)文件信息
評(píng)論
共有 條評(píng)論