91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12.95MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2023-06-20
  • 語言: 其他
  • 標(biāo)簽: OFF文件??

資源簡介

本代碼是通過OpenGL實(shí)行對OFF文件的讀取和對讀取的三維模型添加旋轉(zhuǎn)功能

資源截圖

代碼片段和文件信息

#include
#include

#include
#include
#include
#include
#pragma?comment(lib“glew32.lib“)




const?double?DEFAULT_DELTA?=?0.03;???//旋轉(zhuǎn)偏移量
int?sign?=?1;??????????????????????//控制是順時(shí)針旋轉(zhuǎn)還是逆時(shí)針旋轉(zhuǎn),1為順時(shí)針旋轉(zhuǎn)。

//矩陣的存儲(chǔ)位置
GLint?matrixLocation;
int?mainWindow;//

int?Xaxis?=?0;
int?Yaxis?=?1;
int?Zaxis?=?2;
int?Axis?=?Xaxis;??????//控制是x軸、y軸、z軸旋轉(zhuǎn)。默認(rèn)是x軸

vec3?Theta(0.0?0.0?0.0);


//Num_Vertices為頂點(diǎn)的個(gè)數(shù)
const?int?NUM_VERTICES?=?8;????????????
const?vec4?vertexColors[NUM_VERTICES]?=?{
vec4(0.0?0.0?0.0?1.0)??//?Black?
vec4(1.0?0.0?0.0?1.0)??//?Red?
vec4(1.0?1.0?0.0?1.0)??//?Yellow?
vec4(0.0?1.0?0.0?1.0)??//?Green?
vec4(0.0?0.0?1.0?1.0)??//?Blue?
vec4(1.0?0.0?1.0?1.0)??//?Magenta?
vec4(1.0?1.0?1.0?1.0)??//?White?
vec4(0.0?1.0?1.0?1.0)???//?Cyan?
};

int?nVertices?=?0;//頂點(diǎn)數(shù)
int?nFaces?=?0;//面數(shù)
int?nEdges;//邊數(shù)

std::vector?points;????//存放每個(gè)頂點(diǎn)的信息
std::vector?colors;????//存放每個(gè)頂點(diǎn)的顏色信息
std::vector?vertices;??//存放每個(gè)頂點(diǎn)的坐標(biāo)信息

/*
存放每個(gè)頂點(diǎn)的坐標(biāo)和顏色信息
*/
void?storePoints(int?a?int?b?int?c)
{
points.push_back(vertices[a]);
points.push_back(vertices[b]);
points.push_back(vertices[c]);

colors.push_back(vertexColors[a]);
colors.push_back(vertexColors[b]);
colors.push_back(vertexColors[c]);
}
/*
讀取off文件
*/
void?read_off(const?std::string?filename)
{

if?(filename.empty())?{//如果文件為空,則直接返回
return;
}
std::ifstream?fin;
int?i?=?0;
fin.open(filename);
std::string?str;
fin?>>?str;?????????????//str的內(nèi)容為OFF
fin?>>?nVertices;????????//頂點(diǎn)數(shù)
fin?>>?nFaces;???????????//面數(shù)
fin?>>?nEdges;???????????//邊數(shù)

for?(i?=?0;?i? {
double?n1?=?0;
double?n2?=?0;
double?n3?=?0;
double?n4?=?0;
fin?>>?n1;??????????????????????????//其坐標(biāo)值有四個(gè)
fin?>>?n2;
fin?>>?n3;
fin?>>?n4;
vec4?new_vec3(n1?n2?n3?n4);

vertices.push_back(new_vec3);
}

for?(i?=?0;?i? {
int?n1?=?0;
int?n2?=?0;?????????????????????????//每行的第一個(gè)為頂點(diǎn)數(shù),
int?n3?=?0;
int?n4?=?0;
fin?>>?n1;
fin?>>?n2;
fin?>>?n3;
fin?>>?n4;
storePoints(n2?n3?n4);
}
fin.close();
}

void?init()
{
read_off(“cube.off“);

//?創(chuàng)建頂點(diǎn)數(shù)組對象
GLuint?vao[1];
glGenVertexArrays(1?vao);
glBindVertexArray(vao[0]);

//?創(chuàng)建并初始化頂點(diǎn)緩存對象
GLuint?buffer;
glGenBuffers(1?&buffer);
glBindBuffer(GL_ARRAY_BUFFER?buffer);
glBufferData(GL_ARRAY_BUFFER?points.size()?*?sizeof(vec4)?+?colors.size()?*?sizeof(vec4)
NULL?GL_STATIC_DRAW);

//?分別讀取數(shù)據(jù)
glBufferSubData(GL_ARRAY_BUFFER?0?points.size()?*?sizeof(vec4)?&points[0]);
glBufferSubData(GL_ARRAY_BUFFER?points.size()?*?sizeof(vec4)?colors.size()?*?sizeof(vec4)?&colors[0]);

//?讀取著色器并使用
GLuint?program?=?InitShader(“vshader.glsl“?“fshader.glsl“);
glUseProgram(program);

//?從頂點(diǎn)著色器中初始化頂點(diǎn)的位置
GLuint?pLocation?=?glGetAttribLocation(program?“vPosit

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\
?????目錄???????????0??2016-10-20?22:45??2014150213-歐陽煉均-實(shí)驗(yàn)二\.vs\
?????目錄???????????0??2016-10-20?22:45??2014150213-歐陽煉均-實(shí)驗(yàn)二\.vs\實(shí)驗(yàn)二\
?????目錄???????????0??2016-10-20?22:45??2014150213-歐陽煉均-實(shí)驗(yàn)二\.vs\實(shí)驗(yàn)二\v14\
?????文件???????37888??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\.vs\實(shí)驗(yàn)二\v14\.suo
?????目錄???????????0??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\Debug\
?????文件??????134656??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.exe
?????文件?????1137924??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.ilk
?????文件?????1585152??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.pdb
?????目錄???????????0??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\
?????文件????????1309??2016-10-20?22:45??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二.sln
?????文件????33468416??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二.VC.db
?????目錄???????????0??2016-10-20?22:46??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Common\
?????文件????????2292??2016-09-05?17:17??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Common\InitShader.cpp
?????文件?????????321??2016-10-20?23:02??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\cube.off
?????目錄???????????0??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\
?????文件???????60243??2016-10-20?22:47??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\InitShader.obj
?????文件??????409789??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\main.obj
?????文件??????393514??2016-10-22?16:14??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\main.obj.enc
?????文件??????855040??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\vc140.idb
?????文件??????561152??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\vc140.pdb
?????文件????????1564??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.log
?????目錄???????????0??2016-10-22?20:20??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\
?????文件????????1230??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\CL.command.1.tlog
?????文件???????54012??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\CL.read.1.tlog
?????文件????????1016??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\CL.write.1.tlog
?????文件????????1106??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\link.command.1.tlog
?????文件????????3690??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\link.read.1.tlog
?????文件?????????394??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\link.write.1.tlog
?????文件?????????193??2016-10-22?20:13??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\Debug\實(shí)驗(yàn)二.tlog\實(shí)驗(yàn)二.lastbuildstate
?????文件??????????88??2016-09-16?13:26??2014150213-歐陽煉均-實(shí)驗(yàn)二\實(shí)驗(yàn)二\fshader.glsl
............此處省略9個(gè)文件信息

評論

共有 條評論