• 大小: 819KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: 其他
  • 标签: OpenGL  光照  

资源简介

OpenGL-- Shader 颜色 光照 5 多光源 基础 VS2015 http://blog.csdn.net/yulinxx/article/details/72838217

资源截图

代码片段和文件信息

//main.cpp 
#include 

#define GLEW_STATIC
#include 

#include 

#include “Shader.h“
#include “Camera.h“

#include 
#include 
#include 

#include 

#include 

#include “Shader.h“

#pragma comment(lib “./SOIL.lib“)

#pragma comment (lib “opengl32.lib“)
#pragma comment (lib “glew32s.lib“)
#pragma comment (lib “glfw3.lib“) 
#pragma comment (lib “glfw3dll.lib“) 
#pragma comment (lib “glew32mxs.lib“)


void key_callback(GLFWwindow* pWnd int key int scancode int action int mode);
void mouse_callback(GLFWwindow* pWnd double xpos double ypos);
void scroll_callback(GLFWwindow* pWnd double xoffset double yoffset);
void do_movement();

const GLuint WIDTH = 800 HEIGHT = 600;

Camera  camera(glm::vec3(0.0f 0.0f 3.0f));
GLfloat lastX = WIDTH / 2.0;
GLfloat lastY = HEIGHT / 2.0;
bool    keys[1024];

glm::vec3 lightPos(1.2f 1.0f 2.0f);

GLfloat deltaTime = 0.0f;
GLfloat lastframe = 0.0f;

/////////////////////////////////////////////////////////////////////////
int main()
{
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR 3);
glfwWindowHint(GLFW_OPENGL_PROFILE GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE GL_FALSE);

GLFWwindow* pWnd = glfwCreateWindow(WIDTH HEIGHT “MultipleLight“ nullptr nullptr);
glfwMakeContextCurrent(pWnd);

glfwSetKeyCallback(pWnd key_callback);
glfwSetCursorPosCallback(pWnd mouse_callback);
glfwSetScrollCallback(pWnd scroll_callback);

// 鼠标指针隐藏
//glfwSetInputMode(pWnd GLFW_CURSOR GLFW_CURSOR_DISABLED);

glewExperimental = GL_TRUE;

glewInit();
glViewport(0 0 WIDTH HEIGHT);
glEnable(GL_DEPTH_TEST);

// Shader 处理 箱子  以及  灯光  
Shader lightingObjShader(“./obj_vertex.vs“ “./obj_fragement.fs“);
Shader lampShader(“./lamp_vertex.vs“ “./lamp_fragement.fs“);

// 点数据
GLfloat vertices[] = { // 位置3  向量3  纹理2
// 背面
-0.5f -0.5f -0.5f  0.0f  0.0f -1.0f  0.0f  0.0f
0.5f -0.5f -0.5f  0.0f  0.0f -1.0f  1.0f  0.0f
0.5f  0.5f -0.5f  0.0f  0.0f -1.0f  1.0f  1.0f

0.5f  0.5f -0.5f  0.0f  0.0f -1.0f  1.0f  1.0f
-0.5f  0.5f -0.5f  0.0f  0.0f -1.0f  0.0f  1.0f
-0.5f -0.5f -0.5f  0.0f  0.0f -1.0f  0.0f  0.0f
//  前面
-0.5f -0.5f  0.5f  0.0f  0.0f  1.0f  0.0f  0.0f
0.5f -0.5f  0.5f  0.0f  0.0f  1.0f  1.0f  0.0f
0.5f  0.5f  0.5f  0.0f  0.0f  1.0f  1.0f  1.0f

0.5f  0.5f  0.5f  0.0f  0.0f  1.0f  1.0f  1.0f
-0.5f  0.5f  0.5f  0.0f  0.0f  1.0f  0.0f  1.0f
-0.5f -0.5f  0.5f  0.0f  0.0f  1.0f  0.0f  0.0f
// 左面
-0.5f  0.5f  0.5f -1.0f  0.0f  0.0f  1.0f  0.0f
-0.5f  0.5f -0.5f -1.0f  0.0f  0.0f  1.0f  1.0f
-0.5f -0.5f -0.5f -1.0f  0.0f  0.0f  0.0f  1.0f
-0.5f -0.5f -0.5f -1.0f  0.0f 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3951  2016-12-16 17:45  OGLLight\Camera.h

     文件        140  2017-03-25 23:26  OGLLight\lamp_fragement.fs

     文件        268  2017-03-25 23:22  OGLLight\lamp_vertex.vs

     文件      19366  2017-06-01 23:52  OGLLight\main.cpp

     文件       3640  2017-06-02 00:02  OGLLight\obj_fragement.fs

     文件        683  2017-05-24 23:36  OGLLight\obj_vertex.vs

     文件       7535  2017-05-27 01:02  OGLLight\OGLLight.vcxproj

     文件       1169  2016-12-16 23:34  OGLLight\OGLLight.vcxproj.filters

     文件       3476  2016-12-16 17:50  OGLLight\Shader.h

     文件     467893  2016-12-16 09:59  OGLLight\texture.png

     文件       3974  2016-12-13 00:08  OGLLight\TextureShader.h

     文件     144081  2016-12-16 16:54  OGLLight\texture_specular.png

     文件     249209  2017-06-02 00:03  2017-06-02_000342.jpg

     文件       1306  2016-12-16 23:33  OGLLight.sln

     目录          0  2017-06-02 00:05  OGLLight

----------- ---------  ---------- -----  ----

               906691                    15


评论

共有 条评论