资源简介
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
- 上一篇:OGLShadow阴影基础
- 下一篇:OpenGL_射线选择初探
相关资源
- OpenGL_射线选择初探
- 通用扫描线填充算法OpenGL glut实现
- 泛滥填充种子填充算法OpenGl glut实现
- glfw-3.2.1 OpenGL用
- OpenGL三维图形系统开发与实用技术 基
- vs配置opengl所需glut库
- OpenGl 飞机在蓝天飞行 纹理贴图 地形
- 3D世界的QT+opengl实现
- 中点画圆的算法
- opengl20面体
- opengl纹理贴图
- GLTools-Freeglut.zipopengl超级宝典V5
- VIEW3DS.exe
- freeimage库的一个小
- OpenGL动态小车
- vc OpenGL制作动态三维的雷达扫描效果
- error C1083: 无法打开包括文件: “glau
- OpenGLWindow.zip
- GLUT库下载69016
- OpenGL实现下雪的效果
- openGL兔子模型
- GLaux (OpenGL辅助库)
- qt_opengl_obj.zip
- glaux库包含glaux.h和glaux.lib
- opengl通过键盘对3d图像进行颜色,光照
- GLM动态库、静态库和头文件OpenGL
- opengl函数大全,所有可用函数都在这
- QT-opengl窗体,实现了 1.绘制立方体,
- 计算机图形学机器人绘制opengl
- 使用opengl画桌子+球+地板
评论
共有 条评论