• 大小: 15.89MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-05
  • 语言: 其他
  • 标签: opengl  3D  附代码  

资源简介

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-CS\CSGAME\
     文件    12386816  2015-12-03 10:13  3D-CS\CSGAME\assimp.dll
     文件     1163264  2016-03-04 18:46  3D-CS\CSGAME\libeay32.dll
     文件      163292  2012-05-30 19:48  3D-CS\CSGAME\libintl.dll
     文件      140288  2016-03-29 12:21  3D-CS\CSGAME\libpq.dll
     文件      455328  2013-10-22 13:13  3D-CS\CSGAME\msvcp120.dll
     文件      815192  2013-12-13 13:55  3D-CS\CSGAME\msvcp120d.dll
     文件      970912  2013-10-22 13:13  3D-CS\CSGAME\msvcr120.dll
     文件     1824344  2013-12-13 13:53  3D-CS\CSGAME\msvcr120d.dll
     目录           0  2020-05-29 13:48  3D-CS\CSGAME\resources\
     目录           0  2020-05-29 13:48  3D-CS\CSGAME\resources\body\
     目录           0  2020-05-29 13:48  3D-CS\CSGAME\resources\body\head\
     文件        5796  2016-09-28 20:49  3D-CS\CSGAME\resources\body\head\back.jpg
     文件        1739  2016-09-27 10:15  3D-CS\CSGAME\resources\body\head\bottom.jpg
     文件        9551  2016-09-27 10:15  3D-CS\CSGAME\resources\body\head\front.jpg
     文件       11877  2016-09-27 10:15  3D-CS\CSGAME\resources\body\head\left.jpg
     文件       11707  2016-09-27 10:16  3D-CS\CSGAME\resources\body\head\right.jpg
     文件       65536  2016-09-28 20:49  3D-CS\CSGAME\resources\body\head\Thumbs.db
     文件       13220  2016-09-27 10:16  3D-CS\CSGAME\resources\body\head\top.jpg
     目录           0  2020-05-29 13:48  3D-CS\CSGAME\resources\body\lefthand\
     文件        4893  2016-09-28 21:09  3D-CS\CSGAME\resources\body\lefthand\back.jpg
     文件        3199  2016-09-28 21:09  3D-CS\CSGAME\resources\body\lefthand\bottom.jpg
     文件        4893  2016-09-28 21:09  3D-CS\CSGAME\resources\body\lefthand\front.jpg
     文件        4893  2016-09-28 21:09  3D-CS\CSGAME\resources\body\lefthand\left.jpg
     文件        4682  2016-09-28 21:08  3D-CS\CSGAME\resources\body\lefthand\right.jpg
     文件       33280  2016-09-28 21:10  3D-CS\CSGAME\resources\body\lefthand\Thumbs.db
     文件        1654  2016-09-28 21:10  3D-CS\CSGAME\resources\body\lefthand\top.jpg
     目录           0  2020-05-29 13:48  3D-CS\CSGAME\resources\body\leftshank\
     文件        4094  2016-09-28 21:12  3D-CS\CSGAME\resources\body\leftshank\back.jpg
     文件        3494  2016-09-28 21:13  3D-CS\CSGAME\resources\body\leftshank\bottom.jpg
............此处省略146个文件信息

评论

共有 条评论