自定义博客皮肤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)
  • 收藏
  • 关注

转载 C++重载类型转换操作符

在需要做数据类型转换时,一般显式的写法是:[cpp] view plaincopy"font-size:18px;">type1 i;  type2 d;  i = (type1)d; //显式的写类型转,把d从type2类型转为type1类型  这种写法不能做到无缝转换,也就是直接写 i = d,而不需要显式的写(typ

2014-04-23 11:30:59 502

转载 模板类声明和定义为何要写一起

前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂。我在5年前开始使用模板,那时我看到了MFC的容器类。直到去年我还没有必要自己编写模板类。可是在我需要自己编写模板类时,我首先遇到的事实却是“传统”编程方法(

2014-04-22 17:38:43 462

转载 开源项目之C++界面库 GLUI

GLUI是一个C++界面库,它提供了buttons, checkboxes, radio buttons, 等常用控件,以及OPENGL支持。GLUI界面系统依赖于GLUT来处理窗口、和鼠标管理等,而绘制部分采用OPENGL绘制。工程如图:这个库需要用到第三方GLUT工具库(已放到源码包中),给出了六个实例,开源库的原理就引用网上的资料了,接着介绍下实例是如何应用的。

2014-04-20 12:19:14 1457

转载 GPU架构“征途之旅”即日起航

GPU架构“征途之旅”即日起航GPU架构“征途之旅”即日起航    显卡GPU架构之争永远是DIY玩家最津津乐道的话题之一,而对于众多普通玩家来说经常也就看看热闹而已。大多数玩家在购买显卡的时候其实想的是这款显卡是否可以满足我实际生活娱乐中的应用要求,而不大会很深入的关注GPU的架构设计。不过,如果你想成为一个资深DIY玩家,想与众多DI

2014-04-18 10:05:11 867

转载 Uniform Buffer Objects (UBO) using the std140 layout specification

If we have information we need to set for multiple programs, we can either set the uniform each time we use a new program :// Global Variablesint programID;int uniformLocation; // Done after s

2014-04-14 19:22:35 967

转载 C++语言的15个晦涩特性

这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的。C++非常庞大,我总是能学到一些新知识。即使你对C++已了如指掌,也希望你能从列表中学到一些东西。下面列举的特性,根据晦涩程度由浅入深进行排序。1. 方括号的真正含义2. 最烦人的解析3.替代运算标记符4. 重定义关键字5. Placement new6.在声明变量的同时进行分支7.

2014-04-14 13:12:31 465

转载 GLUT键盘输入

GLUT教程             键盘输入GLUT允许我们编写程序,在里面加入键盘输入控制,包括了普通键,和其他特殊键(如F1,UP)。在这一章里我们将学习如何去检测哪个键被按下,可以从GLUT里得到些什么信息,和如何处理键盘输入。 到现在,你应该注意到了,只要你想控制一个事件的处理,你就必须提前告诉GLUT,哪个函数将完成这个任务。到现在为止,我们已经使用GL

2014-04-11 09:29:51 572

转载 OpenGL的回调函数

void glutDisplayFunc(void (*func)(void));注册当前窗口的显示回调函数参数:func:形为void func()的函数,完成具体的绘制操作这个函数告诉GLUT当窗口内容必须被绘制时,那个函数将被调用.当窗口改变大小或者从被覆盖的状态中恢复,或者由于调用glutPostRedisplay()函数要求GLUT更新时,执行func参数指定

2014-04-11 08:17:36 807

原创 关于如何利用移位运算和逻辑运算来加速算法的小技巧

今天看到一个小技巧:如果一个整数要做2的整数次幂的乘法或除法时,可以通过移位操作来代替,如此,可以提高执行效率。大抵是这样的:int i(初始化值);则计算 i * 4时,可以等效的通过计算 i 话虽如此,程序验证之,代码是在VS2012下编译运行的:#include #include #define LOOP_NUM 1000000000int main(int

2014-03-20 20:05:42 1999

原创 关于TextureBuffer作为输出的一个小细节

glsl中要将结果输出到一块texture buffer上时,在每一帧前都要进行纹理空间的重新分配,如下代码中的glTexBufferRange, glBindTexture(GL_TEXTURE_BUFFER, uiTextureID[texture::VR_RESULT]); glTexBufferRange(GL_TEXTURE_BUFFER, GL_RGBA8,

2014-03-18 19:50:42 1794

原创 c中如何输出一个宏定义的字符串?

做如下宏定义:#define Macro Test#define PrintStr(str) #str#define PrintMacro(str) PrintStr(str)则PrintMacro(Macro)即为“Test”则std::cout 回输出Test

2014-03-13 16:06:25 4817

转载 解析“extern”

解析“extern”1、 声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cppint i; void main(){}

2014-03-13 14:06:30 504

原创 代码行下忧郁着青春

每次被问及职业的时候,我都不好意思告诉别人我是个程序员,真正的原因不是因为我觉得程序员这个职业有多么屌丝,而是因为我觉得自己称不上是我心目中的程序员。前不久在网上看到一段关于码农和程序员区别的话,大抵是这样的:码农是编死的、没有思想的代码的人,而程序员大多是在做创造性工作的。如此说来,我要算是个码农!民工在工地上码着砖头,而我在电脑上码着“砖头”!敲代码的时间说长不长,说短也不短了,有三年的时

2014-03-09 16:06:23 500

原创 关于shader language中的matmxn和vecn

matmxn是指n行m列的矩阵,而vecn是指n行一列的向量!

2014-03-06 18:19:23 662

空空如也

空空如也

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

TA关注的人

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