OpenGL
OpenGL
jjinglover
这个作者很懒,什么都没留下…
展开
-
Cocos2d-x 溶解效果实现
项目需要实现溶解效果,记录下基本实现:实现原理:随着时间变化计算一个阙值(如sin(time)),当取样噪声图纹理的RGB中的某个值低于此阙值时,目标纹理的当前片段着色器调用discard函数,丢弃当前的片段并且终止着色器执行。精灵显示的基本逻辑及片段着色器噪声图纹理的设置: auto noiseSp = Sprite::create("noise.jpg"); noi...原创 2020-01-06 23:31:38 · 1069 阅读 · 0 评论 -
基础的光照场景添加镜面光照
镜面光照的计算方式参考:https://blog.csdn.net/auccy/article/details/82840881镜面光照的计算(包含环境光照与漫反射光照)void main(){ // ambient float ambientStrength = 0.1; vec3 ambient = ambientStrength * sunColor; ...原创 2018-10-10 00:17:36 · 318 阅读 · 0 评论 -
opengl实现百叶窗效果
百叶窗的实现原理:设置窗页宽度,2张纹理间隔采样。顶点着色器:#version 330 corelayout (location = 0) in vec3 aPos;layout (location = 1) in vec3 aColor;layout (location = 2) in vec2 aTexCoord;out vec2 TexCoord;out vec4 Fr...原创 2018-09-21 00:35:11 · 1247 阅读 · 0 评论 -
opengl光照模型
Lambert漫反射光照模型,这是一个用来模拟粗糙表面对光线的漫反射现象的经验模型,对于纸张、粗糙墙壁等等来说,这个模型或许够用,但对于金属这样的光滑表面来说,我们就需要使用Phong模型来模拟光滑表面对光线的镜面反射现象。同Lambert一样,这个模型也是经验模型,而且在程序中,我们经常同时使用Lambert和Phong两个模型,因为在现实世界中,任何表面都会同时发生漫反射和镜面反射两种现象,因...转载 2018-09-25 16:15:31 · 737 阅读 · 0 评论 -
opengl纹理加载
#include "stdio.h"#include <GL/glew.h>#include <GLFW/glfw3.h>#include <soil/SOIL.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/g..原创 2018-09-19 00:36:10 · 1888 阅读 · 0 评论 -
创建基础的光照场景(环境光和漫反射)
环境光照添加到场景里非常简单,用光的颜色乘以一个很小的常量环境因子,再乘以物体的颜色,然后将最终结果作为片段的颜色:void main(){ float ambientStrength = 0.1; vec3 ambient = ambientStrength * lightColor; vec3 result = ambient * objectColor; ...原创 2018-09-18 00:29:18 · 1119 阅读 · 0 评论 -
opengl绘制立方体(二)
使用opengl绘制两个颜色不一样的立方体#include "stdio.h"#include <GL/glew.h>#include <GLFW/glfw3.h>#include <soil/SOIL.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp...原创 2018-09-08 00:44:05 · 2218 阅读 · 0 评论 -
opengl绘制立方体
#include "stdio.h"#include <GL/glew.h>#include <GLFW/glfw3.h>#include <soil/SOIL.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/g..原创 2018-09-05 00:37:39 · 9677 阅读 · 0 评论 -
二、 opengl绘制三角形
绘制三个顶点颜色不同的三角形//#define GLEW_STATIC#include <GL/glew.h>// GLFW#include <GLFW/glfw3.h>#include <iostream>const GLuint WIDTH = 800, HEIGHT = 600;#define ARR_LEN ...原创 2016-09-24 18:01:51 · 519 阅读 · 0 评论 -
一、 搭建opengl开发环境
今天是学习opengl的第一天(原来也看过opengl的一些知识点,但是没有上机code过),记录一下学习中出现的问题以及对应的解决方法,希望可以帮到遇到同样问题的同学,也记录自己的学习历程。我是在windows上学习的,使用的是vs2013。1.获取opengl开发中使用的两个.lib学习opengl会用到两个库:GLFW 和 GLEWGLFW:GLFW是一个专门针对OpenGL...原创 2016-09-16 19:40:27 · 665 阅读 · 0 评论