opengl_shader专题
文章平均质量分 76
hb707934728
这个作者很懒,什么都没留下…
展开
-
opengl卡通渲染之逐顶点渲染与逐像素渲染
逐顶点渲染效果:逐像素渲染效果逐顶点渲染顶点shaderattribute vec3 pos;attribute vec2 texcoord;attribute vec3 normal;uniform mat4 M;uniform mat4 P;uniform mat4 V;uniform mat4 NM;uniform vec3 U_LightPos原创 2017-08-08 13:55:08 · 1038 阅读 · 0 评论 -
opengl对图像进行腐蚀和膨胀
效果图膨胀的原理:膨胀就是求局部最大值的操作,就是给定一个核对图像进行卷积操作,见下图将核B与图像A卷积,即计算B覆盖区域的像素点的最大值,并把这个最大值赋给参考点指定的像素,这样就会使图像中的高亮区域逐渐增长,这就是膨胀的效果,膨胀的数学表达式opengl中膨胀效果的shader实现varying vec2 V_Texcoord;unif原创 2017-08-23 10:56:09 · 2310 阅读 · 0 评论 -
opengl对图像进行模糊处理
右下角图片为模糊效果图对图像进行模糊处理也就是平滑处理图像模糊的用途:用来减少图像上的噪点或失真同样需要对图像做卷积处理卷积过程卷积的数学表达式本文的图像模糊采用的高斯滤波具体操作:用一个卷积核扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值opengl 中shader实现varying原创 2017-08-24 10:29:49 · 5015 阅读 · 0 评论 -
opengl实现线性雾
实现线性雾的几个关键因素1,指定雾的开始距离,结束距离,雾颜色2,将模型上的点变换到眼睛坐标系3,计算雾浓度效果图雾的顶点shaderattribute vec3 pos;//顶点坐标attribute vec2 texcoord;//纹理坐标attribute vec3 normal;//法线坐标uniform mat4 M;//模型矩阵uniform原创 2017-09-14 11:08:57 · 1608 阅读 · 0 评论 -
opengl相关学习资料
nehe opengl的教程http://blog.51cto.com/zt/186/1原创 2017-09-06 20:33:13 · 339 阅读 · 0 评论 -
opengl中如何对图像多次模糊
效果图对图像的多次模糊关键在于fbo的使用opengl中fbo的创建#pragma once#include "glew.h"#include #include class FBO{public: GLuint mFBO; std::map mBuffers; std::stack mDrawBuffers;public: FBO(); void At原创 2017-09-08 14:01:24 · 1129 阅读 · 1 评论 -
opengl实现指数雾
指数雾相对于线性雾效果更逼真可调整雾浓度参数顶点shaderattribute vec3 pos;//顶点坐标attribute vec2 texcoord;//纹理坐标attribute vec3 normal;//法线坐标uniform mat4 M;//模型矩阵uniform mat4 P;//投影矩阵uniform mat4 V;//观察矩阵原创 2017-09-18 10:14:36 · 1732 阅读 · 0 评论 -
opengl创建天空盒实现反射和折射的效果
效果图天空盒顶点shaderattribute vec3 pos;attribute vec2 texcoord;attribute vec3 normal;uniform mat4 M;uniform mat4 P;uniform mat4 V;varying vec3 V_Texcoord;void main(){ V_Texcoord=pos;原创 2017-09-19 10:39:58 · 2455 阅读 · 0 评论 -
opengl实现Bloom效果
什么是Bloom 参考:http://blog.csdn.net/jxw167/article/details/60764506本例同时涉及到HDR相关知识:HDR 参考:http://blog.csdn.net/jxw167/article/details/60475929效果图渲染入口#include #include "glew.h"#include #原创 2017-09-12 10:14:01 · 3194 阅读 · 0 评论 -
opengl实现图像亮度调整
效果图1,取两幅图像的最大像素值合成新的图像2,取两幅图像的最小像素值合成新的图像实现shadervarying vec2 V_Texcoord;uniform sampler2D U_BaseTexture;uniform sampler2D U_BlendTexture;void main(){ vec4 blendColor=texture2D(原创 2017-09-12 18:16:43 · 3663 阅读 · 0 评论 -
opengl实现PS中部分图像处理效果-正片叠底、逆正片叠底、颜色加深、减淡
效果图正片叠底shadervarying vec2 V_Texcoord;uniform sampler2D U_BaseTexture;uniform sampler2D U_BlendTexture;void main(){ vec4 blendColor=texture2D(U_BlendTexture,V_Texcoord); vec4 baseColor=原创 2017-09-12 18:32:59 · 3073 阅读 · 0 评论 -
现代opengl教程
http://wiki.jikexueyuan.com/list/opengl/原创 2017-11-09 10:59:56 · 452 阅读 · 0 评论 -
opengl大牛博客
https://learnopengl-cn.github.io/原创 2018-07-30 11:52:48 · 506 阅读 · 0 评论 -
图像的卷积运算
提到卷积运算,首先离不开的就是卷积核,这个卷积核其实就是一个大小固定、由数值参数构成的数组,数组的参考点通常位于数组的中心,数组的大小称为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非0部分组成。或者,像其他说法,卷积核就是所谓的模板。卷积运算,其实就是可看作是加权求和的过程,使用到的图像区域中的每个像素分别与卷积核(权矩阵)的每个元素对应相乘,所有乘积之和作为区域中心像素的新值。转载 2017-08-23 11:19:31 · 14476 阅读 · 0 评论 -
opengl实现X射线渲染
X射线也就是轮郭线实现原理:物体表面的法线与入射光线的夹角为90度时,刚好能看到物体的轮郭线实现效果,不同的计算方式会得到不同的效果顶点shaderattribute vec3 pos;attribute vec2 texcoord;attribute vec3 normal;uniform mat4 M;uniform mat4 P;unifo原创 2017-08-22 12:01:42 · 990 阅读 · 0 评论 -
opengl平行光光源,点光源,聚光灯光源同台出现
效果图:左起分别为 平行光光源,点光源,聚光灯光源片元shaderuniform vec4 U_LightPos;//光源位置uniform vec3 U_EyePos;//眼睛位置uniform vec4 U_LightDirection;//聚光灯中心线向量uniform float U_Cutoff;//聚光灯中心线向量和入射光线最大夹角uniform float原创 2017-08-15 11:17:29 · 1385 阅读 · 0 评论 -
opengl使用Blin-phone模型计算镜面光照强度
由于计算镜面光光照强度,计算反射光非常耗时,可以使用Blin-phone模型来简化计算效果图blin-phone模型计算镜面反射光 片元shaderuniform vec4 U_LightPos; //光源位置uniform vec3 U_EyePos; //眼睛的位置uniform vec4 U_AmbientLightColor;//环境光颜色uniform vec4原创 2017-08-10 11:18:10 · 1514 阅读 · 0 评论 -
opengl光照之环境光
效果:shader实现顶点shaderattribute vec3 pos;//顶点坐标attribute vec2 texcoord;//纹理坐标attribute vec3 normal;//法线坐标uniform mat4 M;//模型矩阵uniform mat4 P;//投影矩阵uniform mat4 V;//摄像机观察矩阵void main(){原创 2017-08-03 10:51:54 · 1428 阅读 · 0 评论 -
opengl将画面渲染到屏幕的指定区域和多屏渲染
分别将画面渲染到屏幕的左上,坐下,右上,右下区域 效果图:多屏渲染效果图:原理见代码注释#include "FullScreenQuad.h"void FullScreenQuad::Init(){ glGenBuffers(1, &mVBO); glBindBuffer(GL_ARRAY_BUFFER, mVBO); gl原创 2017-08-17 11:25:26 · 3528 阅读 · 0 评论 -
OpenGL中各种坐标系的理解
OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定: 窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角转载 2017-08-17 13:18:56 · 295 阅读 · 0 评论 -
opengl光照效果之点光源
点光源和平行光光源的区别平行光光源:平行光光源的所有入射光线是平行的,且不会发生衰减。点光源:点光源的入射方向是被照射模型上的点的坐标减去点光源所在位置坐标的向量,且会随着距离的增加发生衰减。效果图:点光源片元shaderuniform vec4 U_LightPos;//点光源坐标uniform vec3 U_EyePos;//眼睛的坐标uniform vec4原创 2017-08-10 13:36:55 · 3529 阅读 · 0 评论 -
opengl光照之聚光灯
运行效果图片元shaderuniform vec4 U_LightPos;//光源位置uniform vec3 U_EyePos;//眼睛的位置uniform vec4 U_LightDirection;// 聚光灯轴线也就是中心线的方向uniform float U_Cutoff;//中心线和照射方向的最大夹角uniform vec4 U_AmbientLight原创 2017-08-11 11:05:15 · 2966 阅读 · 0 评论 -
opengl光照之漫反射逐顶点渲染与逐像素渲染
1,逐顶点渲染:模型中有多少个顶点就计算多少次,这种方式比较节约系统资源,但效果比较粗糙2,逐像素渲染:这种方式计算量特别大,有多少个像素就计算多少次,但是效果会很好逐顶点渲染漫反射光照效果顶点shaderattribute vec3 pos;//顶点坐标attribute vec2 texcoord;//纹理坐标attribute vec3 normal;//法线坐标原创 2017-08-04 11:25:50 · 824 阅读 · 0 评论 -
opengl中使用多重纹理
两个原始纹理混合后的效果图顶点shaderattribute vec3 pos;attribute vec2 texcoord;attribute vec3 normal;uniform mat4 M;uniform mat4 P;uniform mat4 V;varying vec2 V_Texcoord;void main(){ V_T原创 2017-07-27 12:11:45 · 3597 阅读 · 0 评论 -
opengl光照之聚光灯软化边缘
聚光灯软化边缘的关键: float diffuseIntensity=0.0; //计算聚光灯的入射光线和中心线的夹角的余弦 float currentCosThta=max(0.0,dot(L,spotLightDirection)); if(currentCosThta>cosThta) { //-----聚光灯软化边缘的关键步骤 计算 currentCosThta的幂 d原创 2017-08-14 10:37:11 · 946 阅读 · 1 评论 -
opengl光照之镜面光逐顶点渲染与逐像素渲染
镜面光逐顶点渲染效果顶点shaderattribute vec3 pos;//顶点坐标attribute vec2 texcoord;//纹理坐标attribute vec3 normal;//法线uniform mat4 M;//模型矩阵uniform mat4 P;//投影矩阵uniform mat4 V;//摄像机观察矩阵uniform mat4 NM;//将法原创 2017-08-07 11:19:06 · 1508 阅读 · 2 评论 -
OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
转自:http://blog.csdn.net/wangdingqiaoit/article/details/51867538写在前面 上一节光照中使用材质和lighting maps介绍了使用材质属性和lighting maps使物体的光照效果能反映物体的材料特性,看起来更逼真。在前面的章节中使用的实际上都是一个点光源,本节将学习其他几种光源类型,以及在场景中使用多个光源转载 2017-08-14 17:33:42 · 647 阅读 · 0 评论 -
opengl对三种光源(方向光,点光源,聚光灯)进行特写并分屏渲染
分屏特写渲染效果图实现原理1,创建3个fbo2,分别将方向光,点光源,聚光灯的照射效果渲染到fbo3,在将渲染好的三个fbo作为纹理贴到要绘制的三个四边形上。渲染入口#include #include "glew.h"#include #include #include "utils.h"#include "GPUProgram.h"#include "原创 2017-08-22 10:29:56 · 3498 阅读 · 0 评论 -
opengl_shader在线教程
https://thebookofshaders.com/07/?lan=ch opengl入门教程https://learnopengl-cn.github.io/原创 2018-12-20 14:52:33 · 1571 阅读 · 1 评论