opengl编写3D的CS小游戏,可运行


opengl编写3D的CS小游戏,可运行,附代码文件
资源截图
代码片段和文件信息
#include “stdafx.h“
#include “Body.h“

GLfloat bodyVertices[] = {
// Positions          
-1.0f 1.0f -1.0f
-1.0f -1.0f -1.0f
1.0f -1.0f -1.0f
1.0f -1.0f -1.0f
1.0f 1.0f -1.0f
-1.0f 1.0f -1.0f

-1.0f -1.0f 1.0f
-1.0f -1.0f -1.0f
-1.0f 1.0f -1.0f
-1.0f 1.0f -1.0f
-1.0f 1.0f 1.0f
-1.0f -1.0f 1.0f

1.0f -1.0f -1.0f
1.0f -1.0f 1.0f
1.0f 1.0f 1.0f
1.0f 1.0f 1.0f
1.0f 1.0f -1.0f
1.0f -1.0f -1.0f

-1.0f -1.0f 1.0f
-1.0f 1.0f 1.0f
1.0f 1.0f 1.0f
1.0f 1.0f 1.0f
1.0f -1.0f 1.0f
-1.0f -1.0f 1.0f

-1.0f 1.0f -1.0f
1.0f 1.0f -1.0f
1.0f 1.0f 1.0f
1.0f 1.0f 1.0f
-1.0f 1.0f 1.0f
-1.0f 1.0f -1.0f

-1.0f -1.0f -1.0f
-1.0f -1.0f 1.0f
1.0f -1.0f -1.0f
1.0f -1.0f -1.0f
-1.0f -1.0f 1.0f
1.0f -1.0f 1.0f
};

Body::Body()
{

}

void Body::Init(char* part)
{
// Setup skybox VAO
glGenVertexArrays(1 &bodyVAO);
glGenBuffers(1 &bodyVBO);
glBindVertexArray(bodyVAO);
glBindBuffer(GL_ARRAY_BUFFER bodyVBO);
glBufferData(GL_ARRAY_BUFFER sizeof(bodyVertices) &bodyVertices GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0 3 GL_FLOAT GL_FALSE 3 * sizeof(GLfloat) (GLvoid*)0);
glBindVertexArray(0);

std::vector faces;
string spart = (string)part;
string right = “resources/body/“+spart+“/right.jpg“;
string left = “resources/body/“ + spart + “/left.jpg“;
string top = “resources/body/“ + spart + “/top.jpg“;
string bottom = “resources/body/“ + spart + “/bottom.jpg“;
string back = “resources/body/“ + spart + “/back.jpg“;
string front = “resources/body/“ + spart + “/front.jpg“;

faces.push_back(right.c_str());
faces.push_back(left.c_str());
faces.push_back(top.c_str());
faces.push_back(bottom.c_str());
faces.push_back(back.c_str());
faces.push_back(front.c_str());
cubemapTexture = loadCubemap(faces);

bodyShader.LoadShader(“shaders/body/body.vs“ “shaders/body/body.frag“);

bodyShader.Use();
glUniform1i(glGetUniformLocation(bodyShader.Program “bodybox“) 0);
}

void Body::Render(Camera &camera glm::mat4 &projection glm::mat4 &view glm::mat4 &model)
{
glEnable(GL_DEPTH_TEST);

// Draw skybox as last
bodyShader.Use();
glUniformMatrix4fv(glGetUniformLocation(bodyShader.Program “model“) 1 GL_FALSE glm::value_ptr(model));
glUniformMatrix4fv(glGetUniformLocation(bodyShader.Program “view“) 1 GL_FALSE glm::value_ptr(view));
glUniformMatrix4fv(glGetUniformLocation(bodyShader.Program “projection“) 1 GL_FALSE glm::value_ptr(projection));
// skybox cube
glBindVertexArray(bodyVAO);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_CUBE_MAP cubemapTexture);
glDrawArrays(GL_TRIANGLES 0 36);
glBindVertexArray(0);
glDepthFunc(GL_LESS); // Set depth function back to default
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-05-31 22:51  3D-CS
     目录           0  2020-05-29 13:48  3D-CSCSGAME
     文件    12386816  2015-12-03 10:13  3D-CSCSGAMEassimp.dll
     文件     1163264  2016-03-04 18:46  3D-CSCSGAMElibeay32.dll
     文件      163292  2012-05-30 19:48  3D-CSCSGAMElibintl.dll
     文件      140288  2016-03-29 12:21  3D-CSCSGAMElibpq.dll
     文件      455328  2013-10-22 13:13  3D-CSCSGAMEmsvcp120.dll
     文件      815192  2013-12-13 13:55  3D-CSCSGAMEmsvcp120d.dll
     文件      970912  2013-10-22 13:13  3D-CSCSGAMEmsvcr120.dll
     文件     1824344  2013-12-13 13:53  3D-CSCSGAMEmsvcr120d.dll
     目录           0  2020-05-29 13:48  3D-CSCSGAME
esources
     目录           0  2020-05-29 13:48  3D-CSCSGAME
esourcesody
     目录           0  2020-05-29 13:48  3D-CSCSGAME
esourcesodyhead
     文件        5796  2016-09-28 20:49  3D-CSCSGAME
esourcesodyheadack.jpg
     文件        1739  2016-09-27 10:15  3D-CSCSGAME
esourcesodyheadottom.jpg
     文件        9551  2016-09-27 10:15  3D-CSCSGAME
esourcesodyheadfront.jpg
     文件       11877  2016-09-27 10:15  3D-CSCSGAME
esourcesodyheadleft.jpg
     文件       11707  2016-09-27 10:16  3D-CSCSGAME
esourcesodyhead
ight.jpg
     文件       65536  2016-09-28 20:49  3D-CSCSGAME
esourcesodyheadThumbs.db
     文件       13220  2016-09-27 10:16  3D-CSCSGAME
esourcesodyhead op.jpg
     目录           0  2020-05-29 13:48  3D-CSCSGAME
esourcesodylefthand
     文件        4893  2016-09-28 21:09  3D-CSCSGAME
esourcesodylefthandack.jpg
     文件        3199  2016-09-28 21:09  3D-CSCSGAME
esourcesodylefthandottom.jpg
     文件        4893  2016-09-28 21:09  3D-CSCSGAME
esourcesodylefthandfront.jpg
     文件        4893  2016-09-28 21:09  3D-CSCSGAME
esourcesodylefthandleft.jpg
     文件        4682  2016-09-28 21:08  3D-CSCSGAME
esourcesodylefthand
ight.jpg
     文件       33280  2016-09-28 21:10  3D-CSCSGAME
esourcesodylefthandThumbs.db
     文件        1654  2016-09-28 21:10  3D-CSCSGAME
esourcesodylefthand op.jpg
     目录           0  2020-05-29 13:48  3D-CSCSGAME
esourcesodyleftshank
     文件        4094  2016-09-28 21:12  3D-CSCSGAME
esourcesodyleftshankack.jpg
     文件        3494  2016-09-28 21:13  3D-CSCSGAME
esourcesodyleftshankottom.jpg
............此处省略146个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)