自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自由理想的足迹

只要功夫深,铁杆磨成针

  • 博客(14)
  • 资源 (10)
  • 收藏
  • 关注

原创 OGL纹理颜色组合函数glTexEnvf

OGL纹理函数就是对纹理颜色,多边形片段本身的颜色(指定的,或是来自光照得到的多边形顶点颜色),环境颜色 等颜色进行组合的函数。在OGL 2.0以后基本用Fragment Shader可编程来实现颜色的组合。但是了解传统的固定管线的纹理颜色组合函数对于正确的编写Fragment Shader是很有好处的。glTexEnvf函数可以通过glTexEnvf函数来指定纹理函数。函数原型:

2016-08-30 10:53:54 5598

原创 OGL纹理之纹理过滤器和多级渐进纹理mipmap

纹理过滤器纹理图像映射到屏幕坐标系的图元中,很多时候不是和屏幕坐标系(像素)一一对应的,因此需要进行放大或缩小(尽量避免一个方向上放大一个方向上缩小,避免这个问题最好方法是不要使用扭曲的纹理坐标)以铺满对应的图元。纹理过滤器通过glTexParameteri函数来指定。1)放大纹理过滤器//GL_NEAREST最近点采样块有明显锯齿,GL_LINEAR线性过滤效果较好glTexPa

2016-08-29 10:48:14 2926

原创 OGL纹理之多维纹理/纹理数组/压缩纹理图像/drawcall优化

一维纹理有时候用一维纹理就够了,例如带纹理的镶条。一维纹理就是高度为1的二维纹理图像,并且它的顶部和底部没有边框,左右可以有。所有二维纹理和子纹理所定义的函数都存在二维版本。如果有图像处理子集卷积操作,那么也会受影响,其它像素操作也会对纹理产生影响。1.定义一维纹理函数:glTexImage1D (GLenum target, GLint level, GLint internalfo

2016-08-26 09:55:00 1455

原创 OGL纹理之纹理替换glTexSubImage2D/glCopyTexSubImage2D/纹理矩形

glTexSubImage2D函数提供修改图像函数,因为修改一个纹理比重新创建一个纹理开销小得多,对于一些视频捕捉程序可以先将视频图像存储在更大的初始图像中(该图像大小要求是2的次方,OGL 2.0后没有这个限制),创建一个渲染用的纹理,然后反复调用glTexSubImage2D(修改的图像区域不用是2的次方)函数从图像视频图像区域读取数据到渲染纹理图像中。渲染用的纹理图像只需要创建一次即可。

2016-08-25 09:50:14 17645 3

原创 OGL纹理之纹理代理

对OGL程序员,纹理的大小是非常重要的,OGL纹理资源一般都是有限的。OGL提供了一种特殊的纹理目标称为代理纹理(Texture Proxy),用于判断当前的OGL实现在某种特定的纹理大小下是否支持某种特定的纹理格式。纹理代理存在一个主要的限制:纹理代理回答的问题是一个指定格式的纹理大小是否能够被加载到纹理内存中。并不能回答是否有足够的能力处理所请求的纹理,比如不能确定这个纹理系统是否有足够的资源

2016-08-25 08:59:38 1152

原创 OGL纹理特征和glTexImage2D gluScaleImage glCopyTextImage2D

glTexImage2D函数原型:glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);实例:glTexImage2D(

2016-08-24 10:21:34 1958

原创 OGL纹理对象(Texture)和优化纹理贴图

OGL纹理贴图TextureOGL纹理是图像位图像素数据的中间存储形式。CPU需要解析图像格式文件,得到二维的图像数据imageData,在GPU中可以在缓存区中用CPU传递过来的图像数据imageData生成纹理对象,纹理对象不是编程中的对象其实是图像数据的结构体,GPU中的纹理可以是一维,二维,三维的。A texture is an OpenGL Object that con

2016-08-24 09:11:31 1937

原创 OGL位图像素数据绘制流程-OGL重心

图像每个元素不是用0,1的位表示,而是用一个整型包含了RGBA通道的图像。.jpg,.png,.tga, .bmp都是经过图像格式包装的图像。图像可以来自颜色缓存区(后台缓存区,前台缓存区),也可以来自深度缓存区和模板缓存区。图像中的int可以记录颜色,也可以记录其它数据,例如法向量,高度图,法线贴图就是这样的图像。图像在GPU端有个纹理内存,存储CPU解包传输过来,经过纹理映射或可以

2016-08-17 10:17:50 1884

原创 OGL绘制像素数据之位图字体

位图是对于一个像素位置用一个位表示,有用1表示,没有用0表示,有用当前颜色渲染,没有用底色渲染。像素是对一个像素位置用一个整型表示(8,16,32位都有),一个整型可以代表颜色索引,也可以代表一个颜色包含RGBA像素数据。字体除了直接用纹理库表示,常用为位图库表示,ascii/unicode只是编码代号,当真正绘制时候是将代号和显示列表标示符一一对应(显示列表和字体库对应)映射的思想产生需

2016-08-15 08:32:42 821

原创 OGL显示列表

显示列表基本知识OGL3.1中所有显示列表相关技术和功能都废弃了。显示列表,主要存储的是顶点数据和状态,生成显示列表后不能修改顶点数据和状态函数了,Drawcall时候,可以改变空间位置,多次调用显示列表绘制不同位置的相同物体,且可以高效的实现移动变换的动画。可以把经常使用的函数存储在显示列表,以提高性能,有些图形硬件会把显示列表存储在专用的内存中,用一种更优的形式来存储数据,与图形硬

2016-08-11 10:08:21 604

原创 OGL点参数圆形衰减/贴花/多边形偏移技术

OGL点参数1.可以用设置点图元达到想要的物体形状和光照效果。主要用:glPointParameterfv来设置: glPointParameterfv(GL_DISTANCE_ATTENUATION_EXT, linear);glPointSize (psize);#define GL_POINT_SIZE_MIN_EXT 0x8126 // 设置

2016-08-08 10:23:07 887

原创 OGL雾化

雾是一个通用是术语,用来模拟薄雾,模糊,氛围,烟尘或者污染。在RGBA或索引颜色模式下,都支持雾。1.雾颜色着色的时机顶点雾坐标颜色,应该在顶点处理时在视图空间计算光照后根据雾公式计算雾颜色,且光栅化时插值得到片段像素雾颜色。具体雾颜色应用到像素上,应该在Fragment Shader 取得纹理颜色后,再在上面混合雾颜色。2.雾计算公式和基本设置GL_EXP模式:f = e

2016-08-08 09:45:56 586

原创 OGL抗锯齿

对点和直线的着色设置alpha值设置,可以进行抗锯齿,在光栅化着色阶段有影响,在混合时候也有影响。    超级采样抗锯齿(Super-Sampling Anti-aliasing,简称SSAA)此是早期抗锯齿方法,比较消耗资源,但简单直接,先把图像映射到缓存并把它放大,再用超级采样把放大后的图像像素进行采样,一般选取2个或4个邻近像素,把这些采样混合起来后,生成的最终像素,令每个像素拥有邻

2016-08-08 08:47:14 1189 6

原创 OGL混合

所有Blend混合在索引颜色模式下是非法的。混合所在的阶段是图形drawcall最后帧写入时候和之前drawcall写入的像素进行blend,如果前面检查如 sissortest, alphatest,, stenciltest,Depthtest不过那么不会进行混合, 为了混合有时候需要关闭depthtest实现想要的效果。1.混合公式假设:源混合因子(Sr,  Sg, Sb,

2016-08-08 08:16:40 778 2

VisualAssist.X_10.9.2333

Visual Assist X For Visual Studio, 番茄助手支持VS2019 VS2017 VS2015 VS2012 VS2010. 亲测可用,欢迎评论

2020-05-31

Python学习文档

Python学习文档

2018-10-04

C++ 11 学习总结文档

c++特性11 学习 总结文档,对特性查询很有帮助,欢迎下载

2018-10-04

Unreal Engine 4 Game Development in 24 Hours

Unreal Engine 4 Game Development in 24 Hours英文版本,欢迎下载。

2018-10-03

CC++黑色星期五计算方法

C C++黑色星期五代码,逻辑严谨,代码清晰的实现,VC Linux下代码可以直接运行;欢迎下载切磋。

2013-03-12

Linux帮助文档用户指南手册

Linux帮助文档 用户指南 linux/unix用户手册,新手管理员指南;必备文档,chm格式。

2011-04-11

C/C++语言帮助文档

C/C++ 帮助文档 参考文档 ,包含C函数库,C++标准模板库,chm格式易于查询,C/C++程序员手册

2011-04-11

MFC最详细的帮助文档

MFC详细的帮助文档,内涵win32 API 函数,MFC详细类库;VC开发人员的详细文档。

2011-03-08

linux帮助文档linux.chm

linux帮助文档;全面了解最流行的linux版本特征;详解linux操作系统;对初学者很有帮助哦。

2010-11-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除