OpenGL
King.W.
这个作者很懒,什么都没留下…
展开
-
OpenGL学习笔记(2)--静态链接库和动态链接库的区别
在VS2012只搭建OpenGL开发环境的时候,涉及到拷贝静态链接库好动态链接库的问题,百度了下,静态链接库和动态链接库的区别:静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件转载 2015-07-22 13:45:35 · 1808 阅读 · 0 评论 -
深入探究透视投影
http://wenku.baidu.com/view/524f634a336c1eb91a375d41.html?re=view转载 2016-09-29 22:20:26 · 427 阅读 · 0 评论 -
OpenGL多线程
在OpenGL里面使用多线程加载纹理是很美好的构想。网上讨论这个的并不多。中文博客里 http://www.cnblogs.com/mazhenyu/archive/2010/04/29/1724190.html参考了某个老外的尝试:http://veelck.wordpress.com/2008/11/28/multithread-texture-loading-in-opengl/ 其基转载 2016-08-25 19:06:17 · 8225 阅读 · 1 评论 -
2D的BSP树的实现
原文链接:http://www.xuebuyuan.com/1074883.html上回说到,用直线的 N*X - d = 0 的基本公式,可以很方便的判断一个点在直线的前面还是后面,对于三角形、四边形这样的凸多边形,可以按一定的规则把直线组织好,让法线都朝里面,于是对每条边都判断点在哪边,以确定点是在凸多边形的里面还是外面。 以下几个是凸多边形的图,作为回顾:如上面两图。左边是一个四边形,右边是一转载 2016-05-31 17:39:36 · 2958 阅读 · 0 评论 -
OpenGL学习笔记(1)--开发环境搭建
VS2012中搭建OpenGL开发环境1. 下载glut库glut库地址为:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut全称为:OpenGL Utility Toolkit,也就是OpenGL应用工具包,它建立在OpenGL基础之上,方便开发OpenGL的某些功能,比如我们后面翻译 2015-07-22 09:49:30 · 503 阅读 · 0 评论 -
glDrawElements
废话不多说,我们先看一个知识点,那就是glDrawElements函数。该函数的原型是:void glDrawElements(GLenum mode,GLsizei count,GLenum type,const GLvoid *indices);函数作用:使用count个元素定义一个几何序列,这些元素的索引值保存在indices数组中。mode:接受的值和在glBegin()中接受的值一样,可以原创 2016-04-19 16:41:26 · 20357 阅读 · 0 评论 -
SOIL库加载纹理
NeHe教程里第六课使用glaux来加载纹理位图,但是glaux 库已经弃用。新的NeHe第六课教程中推荐了SOIL库。(下载,可以在这里获取能直接使用的文件)SOIL库是一个小型的C语言库,用来加载纹理到OpenGL。它基于stb_image 1.16。 详情:http://www.lonesock.net/soil.html 我们使用时只需要简单的把SOIL.h SOIL.lib添加到工程就转载 2016-04-13 22:21:05 · 5492 阅读 · 1 评论 -
GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR,GL_SHININESS,GL_EMISSION,GL_COLOR_INDEXES的区别
1)GL_AMBIENT、GL_DIFFUSE、GL_SPECULAR属性。这三个属性与光源的三个对应属性类似,每一属性都由四个值组成。GL_AMBIENT表示各种光线照射到该材质上,经过很多次反射后最终遗留在环境中的光线强度(颜色)。GL_DIFFUSE表示光线照射到该材质上,经过漫反射后形成的光线强度(颜色)。GL_SPECULAR表示光线照射到该材质上,经过镜面反射后形成的光线强度(颜色)。通转载 2015-12-22 23:18:55 · 661 阅读 · 0 评论 -
OpenGL中的变换矩阵及自定义矩阵
OpenGL中的变换矩阵的实现OpenGL中的变换矩阵是一个4*4的数阵,使用一个包含16个元素的一维数组表示。其中,前4个元素表示矩阵的第一列,表示x轴的方向向量,接下来的4个元素表示矩阵的第2列,表示y轴的方向向量…也就是说OpenGL中的矩阵是列矩阵的,前三列各表示xyz三个轴的方向向量,第4列表示位移变换。自定义变换矩阵 1.为矩阵开辟存储空间//M3DMatrix44f表示使用mat原创 2015-12-21 16:06:21 · 1333 阅读 · 0 评论 -
OpenGL 无法打开文件“freeglut_static.lib
OpenGL 无法打开文件“freeglut_static.lib”在VS2010中运行《OpenGL超级宝典》中的示例的时候,提示:无法打开文件“freeglut_static.lib 1.首先,我看了下引用文件, 这个和在项目上右键->属性->VC++目录->包含目录中添加头文件路径是等价的,所以这个没有问题,前提是你的#include 相对路径写的是正确的,也就是说你的当前原创 2015-12-21 10:16:32 · 4157 阅读 · 0 评论 -
glViewport()函数和glOrtho()函数的理解(转)
glViewport()函数和glOrtho()函数的理解(转)在OpenGL中有两个比较重要的投影变换函数,glViewport和glOrtho。glOrtho是创建一个正交平行的视景体。 一般用于物体不会因为离屏幕的远近而产生大小的变换的情况。比如,常用的工程中的制图等。需要比较精确的显示。 而作为它的对立情况, glFrustum则产生一个透视投影。这是一种模拟真是生活中,人们视野观测物体的真转载 2015-12-19 13:25:44 · 785 阅读 · 0 评论 -
glPushMatrix()和glPopMatrix()的作用
当你做了一些移动或旋转等变换后,使用glPushMatrix();OpenGL 会把这个变换后的位置和角度保存起来。然后你再随便做第二次移动或旋转变换,再用glPopMatrix();OpenGL 就把刚刚保存的那个位置和角度恢复。比如:glLoadIdentity();glTranslatef(1,0,0);//向右移动(1,0,0)glPushMatrix();//转载 2015-09-29 11:28:04 · 813 阅读 · 0 评论 -
OpenGL学习笔记(3)--OpenGL中几种头文件的作用及区别
初学OpenGL的时候,在cpp源文件中经常需要引用到gl.h、glu.h、gltools.h等各种头文件,其实也不知道每个头文件都是干啥用的,通过网上资源了解了下,现在来总结下:1、gl.h 按照约定,所有的OpenGL函数、类型和宏的原型都包含在头文件gl.h中。2、glu.h (OpenGL Utility library):OpenGL 工具函数库,主要定义OpenGL中原创 2015-07-22 13:47:56 · 4455 阅读 · 0 评论 -
OpenGL帧缓冲
帧缓冲的概念帧缓冲其实就是存储了我们绘制到屏幕上的像素值。每次渲染前,使用glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);就是清空帧缓冲中的内容,以达到每帧绘制一幅图像的目的。一般我们在使用GLFW这样的库进行OpenGL绘制的时候会绘制在默认的GLFW为我们分配好的帧缓存中,暂时称之为"默认缓冲"。我们也可以自己新建一个帧缓存,来...原创 2019-03-19 22:43:09 · 539 阅读 · 0 评论