OPENGL-着色器
Golden_Shadow
做一名优秀的游戏程序员
展开
-
FlatShader.vp
// Flat Shader// Vertex Shader#version 330// Transformmation Matrixuniform mat4 mvpMatrix ;// Incoming per vertexin vec4 vVertex ;void main(void){ // This is pretty much it, transform原创 2013-01-24 21:48:03 · 755 阅读 · 0 评论 -
SkyBox.cpp
渲染天空盒,其中背后的数学原理没研究过.准备先了解下图形库,之后好好学学图形学.呼,学啊,学吧.// SkyBox.cpp - 2013/09/02-22:59#include "stdafx.h"#include #include #include #include #include #include #include #include #define原创 2013-09-05 23:31:38 · 1233 阅读 · 0 评论 -
ADSGouraud.fp
#version 130smooth in vec4 vVaryingColor;void main(void){ gl_FragData[0] = vVaryingColor * 0.5 ; gl_FragData[1] = vVaryingColor * 0.6 ;}原创 2013-10-08 22:42:57 · 1049 阅读 · 0 评论 -
ADSGouraud.vp
#version 130in vec4 vVertex;in vec3 vNormal;uniform vec4 ambientColor;uniform vec4 diffuseColor; uniform vec4 specularColor;uniform vec3 vLightPosition;uniform mat4 mvpMat原创 2013-10-08 22:42:15 · 1088 阅读 · 0 评论 -
FrameBufferObject.cpp
帧缓冲区对象,Frame Buffer Object.创建渲染缓冲区,将渲染管线的输出可指定到渲染缓冲区,同时可以读渲染缓冲区.这些都是通过绑定帧缓冲区来做的.代码中将颜色输出分别写到两个渲染缓冲区中,再将这两个缓冲区的内容分别写到默认帧缓冲区中,效果就是左右颜色明暗不一样.书上的代码很复杂,我又实现了一个简单版的.加油吧,抓紧学习渲染,目前的进度比自己预想的慢太多太多了.// FrameBu原创 2013-10-08 22:41:01 · 1910 阅读 · 0 评论 -
writeScreen.fs
#version 150 uniform sampler2D textureUnit0;in vec2 vTexCoord;void main(void) { gl_FragColor = texture(textureUnit0, vTexCoord) * 0.5;}原创 2013-09-27 00:27:28 · 892 阅读 · 0 评论 -
Pixel Buffer.cpp
像素缓冲区,pixel buffer.好几个月以前看书看到这就看得我迷迷糊糊,当时手头没有电脑,书被翻译得好多根本不是人话,我看了两遍也只是知道一个大概意思.大概一个月前,决定把上本书从头带着写代码再学习一遍.一个星期前看到了像素缓冲区这块,起初也是没看懂,示例代码是运动模糊特效,信息量比较大,理解起来很难,对我那时来说.于是我把问题简化,简化到先是渲染一个球,用内置的着色器,之后创建缓冲区对象,原创 2013-09-27 00:23:34 · 3567 阅读 · 3 评论 -
writeScreen.vs
#version 150 uniform mat4 mvpMatrix;in vec4 vVertex;in vec2 texCoord0;out vec2 vTexCoord;void main(void){ vTexCoord = texCoord0; gl_Position = mvpMatrix * vVertex;}原创 2013-09-27 00:26:15 · 904 阅读 · 0 评论 -
FBO 渲染到纹理
这是书中第八章的最后一节内容,在我机制的简化问题后,写出了想要的效果.应用FBO渲染到纹理,可以直接用.这个用来实现镜面效果什么的,好啊.再一个,貌似我现在已经可以去写延迟渲染流水线了,那个用到多渲染目标,之后再处理.呼,继续学习吧,这些东西还真得实践才行啊.// RenderToTexture.cpp -- 2013/10/11-20:49#include "stdafx.h"#in原创 2013-10-14 08:51:00 · 4570 阅读 · 0 评论 -
triangle.vp
#version 130in vec4 vVertex;void main(void) { gl_Position = vVertex;}原创 2013-10-14 08:53:42 · 1130 阅读 · 0 评论 -
triangle.fp
#version 130uniform vec4 vColor;void main(void){ gl_FragData[0] = vColor;}原创 2013-10-14 08:54:40 · 938 阅读 · 0 评论 -
texturedTriangle.fp
#version 130uniform sampler2D colorMap;out vec4 vFragColor;smooth in vec2 vVaryingTexCoords;void main(void){ vFragColor = texture(colorMap, vVaryingTexCoords.st);}原创 2013-10-14 08:56:12 · 980 阅读 · 0 评论 -
SkyBox.fp
#version 130out vec4 vFragColor;uniform samplerCube cubeMap;varying vec3 vVaryingTexCoord;void main(void){ vFragColor = texture(cubeMap, vVaryingTexCoord);}原创 2013-09-05 23:34:55 · 1018 阅读 · 0 评论 -
SkyBox.vp
#version 130in vec4 vVertex;uniform mat4 mvpMatrix;varying vec3 vVaryingTexCoord;void main(void) { vVaryingTexCoord = normalize(vVertex.xyz); gl_Position = mvpMatrix *原创 2013-09-05 23:32:51 · 1157 阅读 · 0 评论 -
FlatShader.fp
// Flat Shader// Fragment Shader#version 330// Make geometry soliduniform vec4 vColorValue ;// Output fragment colorout vec4 vFragColor ;void main(void){ vFragColor = vColorValue ;}原创 2013-01-24 21:48:40 · 745 阅读 · 0 评论 -
ADSGouraud.fp
// ADS Point lighting Shader// Fragment Shader#version 330out vec4 vFragColor ;smooth in vec4 vVaryingColor ;void main (void){ vFragColor = vVaryingColor ;}原创 2013-01-25 23:28:37 · 634 阅读 · 0 评论 -
ADSGouraud.vp
// ADS Point lighting Shader// Vertex Shader#version 330in vec4 vVertex ; // 顶点位置[世界坐标]in vec3 vNormal ; // 顶点法线[世界坐标]smooth out vec4 vVaryingColor ;uniform vec4 ambientColor原创 2013-01-25 23:27:56 · 818 阅读 · 0 评论 -
ADSPhong.vp
// ADS Point lighting Shader// Vertex Shader#version 330in vec4 vVertex;in vec3 vNormal;uniform mat4 mvpMatrix;uniform mat4 mvMatrix;uniform mat3 normalMatrix;uniform vec3 vLightPosition;s原创 2013-02-01 20:24:17 · 912 阅读 · 0 评论 -
ADSPhong.fp
// ADS Point lighting Shader// Fragment Shader#version 330out vec4 vFragColor;uniform vec4 ambientColor;uniform vec4 diffuseColor; uniform vec4 specularColor;smooth in vec3 vVaryingNormal;原创 2013-02-01 20:24:40 · 838 阅读 · 0 评论 -
FlatShader.cpp
最近几天过得比较糟心.主要都是关于工作的事情.之前一段时间的问题是内存泄露问题,找到了解决方法之后,内存泄露没有了.后来是游戏占用内存太大问题,资源得不到释放,在引擎的性能监视器里看释放掉了的内存,发布出游戏看内存并没有及时释放,于是查了一下,是引擎自身管理内存的问题.昨天换了4.2版本的引擎,结果测试后发现内存占用大的问题,也就是内存不及时释放的问题解决掉了.同时发现新版本改了许多BUG,于是跟原创 2013-08-06 23:12:08 · 1348 阅读 · 0 评论 -
FlatShader.vp
// Flat Shader// Vertex Shader#version 330// Transformation Matrixuniform mat4 mvpMatrix ;// Incoming per vertexin vec4 vVertex ;void main (void){ gl_Position = mvpMatrix * vVe原创 2013-08-06 23:25:16 · 1068 阅读 · 0 评论 -
FlatShader.fp
// FlatShader// Fragment Shader#version 330uniform vec4 vColorValue ;out vec4 vFragColor ;void main (void){ vFragColor = vColorValue ;}原创 2013-08-06 23:28:30 · 906 阅读 · 0 评论 -
LitTexture.cpp
一晃又好久没发博文了.这个东西就是照亮一个贴了纹理的球球.上次也学到这了,上次是学到HDR的编码部分停下来的. 最近工作累得不可开交,自己总是有事情做,解决了一个又一个问题,弄得我每天很烦.最近又涉及到了多线程共享资源互斥的问题.用处就是在加载资源的第一步是从文件中加载出待解密的资源,对其进行解密.这一步...做项目各种事情,这周写了个基于引擎的组织资源的工具,可以提高组织效率的东西.上午做原创 2013-08-23 20:44:25 · 1012 阅读 · 0 评论 -
ADSTexture.vp
#version 330in vec4 vVertex;in vec3 vNormal;in vec4 vTexture0;uniform mat4 mvpMatrix;uniform mat4 mvMatrix;uniform mat3 normalMatrix;uniform vec3 vLightPosition;smooth ou原创 2013-08-23 20:45:27 · 994 阅读 · 0 评论 -
ADSTexture.fp
#version 330out vec4 vFragColor;uniform vec4 ambientColor;uniform vec4 diffuseColor; uniform vec4 specularColor;uniform sampler2D colorMap;smooth in vec3 vVaryingNor原创 2013-08-26 10:38:18 · 1029 阅读 · 0 评论 -
texturedTriangle.vp
#version 130in vec4 vVertex;in vec2 vTexCoords;smooth out vec2 vVaryingTexCoords;void main(void) { vVaryingTexCoords = vTexCoords; gl_Position = vVertex;}原创 2013-10-14 08:55:42 · 953 阅读 · 0 评论