技术知识
文章平均质量分 50
circlepig
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenGL-绘制管线
在一次面试的过程中,面试官问到了我这个问题。当时答得不是特别完善,回来翻阅了一下红宝书,总结如下: 由于完整的绘制管线包括处理几何数据和像素数据两条,这里只考虑几何数据。如果以后有机会用到处理像素数据,再考虑。 (1)获得顶点数据如果使用了显示列表,就从显示列表中获得被保存的数据;如果没有使用显示列表,则直接获得顶点数据 (2)求值器在某些情况下,比如处理参数化曲线,则需要通过求值原创 2012-12-10 16:08:52 · 501 阅读 · 0 评论 -
OpenGL-键盘控制
转载自 http://www.cnblogs.com/irvinow/archive/2009/02/22/1396003.html 当你按下一个键后,GLUT提供了两个函数为这个键盘消息注册回调。 第一个是glutKeyboardFunc。这个函数void glutKeyboardFunc(void(*func)(unsigned charkey,int x,int y)原创 2012-12-10 16:08:32 · 991 阅读 · 0 评论 -
判断一个点是否在三角形内
这个问题分为2d和3d两种情况,都可以利用面积法来解决,但是对于浮点数,面积法误差比较大,不易于操作,比较方便的办法是使用叉积。 1. 2d情况(转载自 http://blog.youkuaiyun.com/dracularking/archive/2008/03/25/2217180.aspx ) 沿着三角形的边按顺时针方向走,判断该点是否在每条边的右边(这可以通过叉乘判断),原创 2012-12-10 16:08:28 · 666 阅读 · 0 评论 -
如何理解照片后期处理
很多摄影爱好者都面临着一个共同的问题,在摄影中遇到光线、天气、场景、构图等原因,拍摄的作品不能达到自己预期的效果。如何解决这个问题,是每位摄影爱好者最纠结的。当今社会是个数码飞速发展的时代,这样很多摄影人就把自己作品中的不足,寄托到电脑软件后期处理上。通过各种方式学习了大量的图片处理软件。有人已经把软件掌握的很熟练,但同样遇到一个难题:拍出照片还是感到无从下手,不知道利用软件的哪些功能对自己的作品转载 2013-01-25 15:47:03 · 2582 阅读 · 0 评论 -
Opengl Error:Missing GL version
当运行glewInit()时,出现这个错误。首先当然要确定glew.lib,glew.h的版本是否匹配。 事实上,很有可能是因为没有创建一个opengl的环境,在运行这个函数以前,必须先调用glut的窗口函数,创建一个opengl的context,才能够正确运行!原创 2012-12-10 16:08:30 · 4344 阅读 · 3 评论 -
OpenGL-反馈
1. OpenGL的反馈机制 反馈和选择具有一个相似之处,在这两种模式下,不会产生任何像素,并且屏幕被冻结。在选择模式下,一些已分配的名称被返回到一个整形数组中;在反馈模式下,与经过变换的图元有关的一些信息被返回到一个浮点型数组中。 2. 使用步骤 //在绘制了场景之后,开始进入以下代码 (1)GLfloat feedBuffer[1024];//指定保存反馈数据的数组,G原创 2012-12-10 16:08:56 · 697 阅读 · 0 评论 -
OpenGL-选择与拾取
以下内容主要整理《OpenGL编程指南》第13章的内容。主要解决以下问题: (1)如何允许用户选择屏幕上的一块区域或者挑选屏幕上所绘制的一个物体? 一. 选择 1. OpenGL的选择机制如何实现 当我们打算使用OpenGL的选择机制时:(1)首先把整个场景绘制到帧缓冲区中;(2)然后进入选择模式,并且对场景进行重绘,此时,帧缓冲区的内容将不会被修改;(3)退出选择模式时,原创 2012-12-10 16:08:54 · 697 阅读 · 0 评论 -
OpenGL-光照模型
1. 光的成分 (1)环境光:经过了充分散射,无法分辨其方向(2)散射光:来自于某个方向,撞击表面时,均匀的向所有方向发散(3)镜面光:来自于一个特定的方向,从特定方向反射,具有光泽的金属或塑料具有非常高的镜面成分(4)发射光:模拟那些源自某个物体的光 Opengl的光照模型根据所反射的红蓝绿光的比例来模拟颜色。 对于光线而言,颜色成分的数量对应于某种颜色的完全强度的百原创 2012-12-10 16:08:50 · 585 阅读 · 0 评论 -
OpenGL-鼠标交互
1. 检测鼠标的click glutMouseFunc( (void)(*func) ( int button, int state, int x, inty ) ) button: GLUT_LEFT_BUTTON, GLUT_MIDDLE_BUTTON,BLUT_RIGHT_BUTTONstate: GLUT_DOWN, GLUT_UPx,y: 左上角为原点 2. 检测鼠标原创 2012-12-10 16:08:45 · 664 阅读 · 0 评论 -
编译Ogre的Source包
Ogre是有名的开源绘制引擎开发包,提供SDK和Source两种代码包供用户下载。 我根据Ogre网站页面的相应指导,使用VS2005编译它的Source源代码包的。 具体操作如下:1.下载ogre源代码包和ogre针对visiual studio的dependencies包。2.下载安装cmake3.如果没有装DirectX-SDK,从microsoft网站下载安装,depende原创 2012-12-10 16:08:43 · 388 阅读 · 0 评论 -
OpenGL-显示列表
1. 显示列表如何提高性能 (1)可以定义一个几何图形,在以后多次执行它。 (2)当通过网络在另一台远程机器上运行OpenGL程序时,显示列表存放在服务器上,于是可以大大减少网络的数据传输量。 2. 显示列表在以下领域可以体现优化作用 (1)矩阵操作 如一个glRotate函数,可能会有相当大得性能提升,因为产生旋转矩阵的计算是比较复杂的 (2)对位图和图像进行光栅化原创 2012-12-10 16:08:41 · 501 阅读 · 0 评论 -
ReadFile-从硬盘中读入文件
之前,从硬盘中读入文件的方法都是使用fscanf,一个数一个数的读。现在发现了一个快得太多的方法 -ReadFile(windows库函数) TCHAR fname[1024]; //file's name int i; for(i=0; i<strlen(filename);i++) //format transformation fname[i] = filename[i]原创 2012-12-10 16:08:39 · 687 阅读 · 0 评论 -
场景绘制中的视点移动
glutKeyboardFunc(keyboard); //定义键盘行为 void keyboard(unsigned char a, int x, int y){ switch( a ) { case 'w': viewpoint[0] -= 100.0; glutPostRedisplay(); }原创 2012-12-10 16:08:37 · 583 阅读 · 0 评论 -
halton sequence-halton序列
wiki链接 http://en.wikipedia.org/wiki/Halton_sequence Halton sequence常常被用来产生空间点,被运用在例如Monte CarloSimulation等数值方法中。因为这个序列中的数看上去是随机的。 将任意一个素数作为基数,都可以生成一个Haltonsequence。比如,以2作为基数,那么得到的序列就是将(0,1)区段反原创 2012-12-10 16:08:35 · 4446 阅读 · 0 评论
分享