关闭

【设计模式】设计模式C++编程实现之策略模式(Strategy Pattern)

在介绍具体的设计模式之前,先介绍一下OO(Objected-Oreinted)基础以及OO原则。 OO基础:抽象、封面装、多态、继承。OO原则: 封装变化。多用组合,少用继承。针对接口编程,不针对实现编程。 策略模式定义: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。 一个很重要的设计原则是: 找出...
阅读(2176) 评论(0)

【OpenGL4.0】GLSL-Flat Shading平面着色

Per-vertex渲染技术是针对每个顶点进行渲染计算,然后把计算得到的颜色值和这个顶点关联起来。然后在多边形的面上进行颜色插值以后的平滑的渲染效果。这也叫做Gouraud Shading。在早起的OpenGL版本中,它是默认的渲染技术。 有的时候我们需要达到遮掩过一种效果:一个多边形上只有一种颜色,而不是有这种插值方法得到的平滑效果。这个时候的渲染就叫做Flat Shading。 下面的图显...
阅读(5597) 评论(0)

【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现

TGA格式图像是游戏中十分常见的一种图像格式,所以有必要了解其内部格式以及编程实现。 TGA图像一般有非压缩和压缩两种格式,下面分别进行介绍。 一、非压缩TGA图像 注:前面的标记绿色的部分(共12字节)表示对于所有的非压缩TGA格式图像值都是相同的!所以通常用来在读取数据时鉴别是否为TGA图像。   名称 偏移 长...
阅读(7819) 评论(1)

【C/C++】异或操作巧妙实现两个数的交换操作

今天在看OpenGL加载TGA格式图像用作纹理的代码时,看到关于RGB(A)顺序转换的一行代码时,捉一开始感到很困惑,后来想了想,就是实现交换操作。 原始代码: texture->imageData[cswap] ^= texture->imageData[cswap+2] ^= texture->imageData[cswap] ^= texture->imageData[cswap+2...
阅读(2926) 评论(4)

【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形

以前都是用Cg的,现在改用GLSL,又要重新学,不过两种语言很多都是相通的。 下面的例子是实现绘制一个三角形的简单程序。采用了VBO(veretx buffer object)、VAO(vertex array object)等OpenGL的一些新特性。越往后发展,可编程管线肯定是大势所趋,OpenGL里原来的一些固定管线的内容肯定会被废弃掉。所以从现在开始写程序就要养成使用新特性、采用...
阅读(35609) 评论(25)
    个人资料
    • 访问:1738211次
    • 积分:14181
    • 等级:
    • 排名:第965名
    • 原创:122篇
    • 转载:15篇
    • 译文:6篇
    • 评论:937条
    博客专栏
    公告
    博客已迁移至:http://xiajunhust.github.io/