- 博客(20)
- 资源 (45)
- 收藏
- 关注
原创 opengl对图像进行模糊处理
右下角图片为模糊效果图对图像进行模糊处理也就是平滑处理图像模糊的用途:用来减少图像上的噪点或失真同样需要对图像做卷积处理卷积过程卷积的数学表达式本文的图像模糊采用的高斯滤波具体操作:用一个卷积核扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值opengl 中shader实现varying
2017-08-24 10:29:49 5015
转载 图像的卷积运算
提到卷积运算,首先离不开的就是卷积核,这个卷积核其实就是一个大小固定、由数值参数构成的数组,数组的参考点通常位于数组的中心,数组的大小称为核支撑。单就技术而言,核支撑实际上仅仅由核数组的非0部分组成。或者,像其他说法,卷积核就是所谓的模板。卷积运算,其实就是可看作是加权求和的过程,使用到的图像区域中的每个像素分别与卷积核(权矩阵)的每个元素对应相乘,所有乘积之和作为区域中心像素的新值。
2017-08-23 11:19:31 14474
原创 opengl对图像进行腐蚀和膨胀
效果图膨胀的原理:膨胀就是求局部最大值的操作,就是给定一个核对图像进行卷积操作,见下图将核B与图像A卷积,即计算B覆盖区域的像素点的最大值,并把这个最大值赋给参考点指定的像素,这样就会使图像中的高亮区域逐渐增长,这就是膨胀的效果,膨胀的数学表达式opengl中膨胀效果的shader实现varying vec2 V_Texcoord;unif
2017-08-23 10:56:09 2310
原创 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
原创 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
转载 OpenGL中各种坐标系的理解
OPENGL坐标系可分为:世界坐标系和当前绘图坐标系。 世界坐标系:在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。你面对 屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的为z正轴。长度单位这样来定: 窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角
2017-08-17 13:18:56 295
原创 opengl将画面渲染到屏幕的指定区域和多屏渲染
分别将画面渲染到屏幕的左上,坐下,右上,右下区域 效果图:多屏渲染效果图:原理见代码注释#include "FullScreenQuad.h"void FullScreenQuad::Init(){ glGenBuffers(1, &mVBO); glBindBuffer(GL_ARRAY_BUFFER, mVBO); gl
2017-08-17 11:25:26 3528
原创 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
转载 OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
转自:http://blog.csdn.net/wangdingqiaoit/article/details/51867538写在前面 上一节光照中使用材质和lighting maps介绍了使用材质属性和lighting maps使物体的光照效果能反映物体的材料特性,看起来更逼真。在前面的章节中使用的实际上都是一个点光源,本节将学习其他几种光源类型,以及在场景中使用多个光源
2017-08-14 17:33:42 646
原创 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光照之聚光灯
运行效果图片元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
原创 opengl光照效果之点光源
点光源和平行光光源的区别平行光光源:平行光光源的所有入射光线是平行的,且不会发生衰减。点光源:点光源的入射方向是被照射模型上的点的坐标减去点光源所在位置坐标的向量,且会随着距离的增加发生衰减。效果图:点光源片元shaderuniform vec4 U_LightPos;//点光源坐标uniform vec3 U_EyePos;//眼睛的坐标uniform vec4
2017-08-10 13:36:55 3529
原创 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
原创 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
原创 ffmpeg打开视频解码器
#include "firstqt.h"#include extern "C"{#include #include }static double r2d(AVRational r){ return r.num == 0 || r.den == 0 ? 0. : (double)r.num / (double)r.den;}//char *path = "Debug/tes
2017-08-07 15:20:27 937
原创 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光照之漫反射逐顶点渲染与逐像素渲染
1,逐顶点渲染:模型中有多少个顶点就计算多少次,这种方式比较节约系统资源,但效果比较粗糙2,逐像素渲染:这种方式计算量特别大,有多少个像素就计算多少次,但是效果会很好逐顶点渲染漫反射光照效果顶点shaderattribute vec3 pos;//顶点坐标attribute vec2 texcoord;//纹理坐标attribute vec3 normal;//法线坐标
2017-08-04 11:25:50 824
原创 ffmpeg读取视频帧并显示相关信息
#include "firstqt.h"#include extern "C"{#include #include }static double r2d(AVRational r){ return r.num == 0 || r.den == 0 ? 0. : (double)r.num / (double)r.den;}int main(int argc, char
2017-08-03 18:41:29 3099 1
原创 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
转载 opengl中的矩阵变换
转自:http://blog.csdn.net/lyx2007825/article/details/8792475Overview几何数据——顶点位置,和标准向量(normal vectors),在OpenGL 管道raterization 处理过程之前可通过顶点操作(Vertex Operation)和基本组合操作改变这些数据。Object Co
2017-08-01 10:48:24 383
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人