OpenGL
文章平均质量分 68
GIS_Tracker
专注计算机图形学三维GIS
展开
-
OpenGL中使用glew库进行GLSL编程遇到的一个问题
刚开始尝试使用OpenGL着色器语言写程序,没想到很快就遇到了问题,我分别写了一个VertexShader(顶点着色器)和FragmentShader(片段着色器),然后准备在opengl中来使用(这些过程都是没问题的)。一切准备就绪后,发现代码执行到glCreateShader()这个函数时就报错,提示:有未经处理的异常:0xC0000005……,最后在网上找到,原来使用glew库的时候,原创 2013-08-14 11:26:52 · 1064 阅读 · 1 评论 -
Unity 5.6推出 改进图形性能以及支持Vulkan API
具体查看:http://digi.163.com/17/0404/14/CH6G15J0001687H3.html转载 2017-04-07 16:33:28 · 1470 阅读 · 0 评论 -
[学习Vulkan之二] Vulkan API基本概念
转自:http://www.52vr.com/article-606-1.html图形渲染那块先放着不说。 计算这块,目前来看Vulkan将一统江湖。OpenCL苦难重重,前途未卜。CUDA和Metal又都是针对特定平台的。只有Vulkan能够跨越平台(desktop, mobile),跨越不同制造商。在OpenCL时代,失去了google支持的Android阵营,始终无法转载 2017-04-07 15:47:44 · 1514 阅读 · 0 评论 -
OpenGL开发版本问题讨论
我们说的OpenGL版本有两个概念:第一个是指电脑显卡支持的OpenGL版本,用如下代码可以测试你当前电脑的OpenGL版本:#include#include #include int main(int argc, char** argv){ glutInit(&argc,argv); //显示模式初始化 glutInitDisplayMode(GLUT_SINGLE|GLUT原创 2014-01-14 15:42:50 · 947 阅读 · 0 评论 -
Stencil Buffer(模板缓冲区)
转自:http://www.cnblogs.com/aokman/archive/2010/12/13/1904723.html与颜色缓冲区和深度缓冲区类似,模板缓冲区可以为屏幕上的每个像素点保存一个无符号整数值。这个值的具体意义视程序的具体应用而定。在渲染的过程中,可以用这个值与一个预先设定的参考值相比较,根据比较的结果来决定是否更新相应的像素点的颜色值。这个比较的过程被称为模板测试。模转载 2014-01-14 10:36:53 · 1550 阅读 · 0 评论 -
阴影锥(shadow volume)原理与展望---真实的游戏效果的实现
shadow volume 这个术语几乎是随着 DOOM3 的发布而成为FPS 玩家和图形学爱好者谈论的对象的。虽然这个游戏还没有上市,但是凭借 John Carmack 的传奇经历以及 DOOM3发布的一些让人惊讶的预览图片,我们仍然有理由认为它将会是 2004 年最热门的 FPS 游戏之一。 id software向来都不吝惜为了达到最好的图像效果而使用最先进的渲染技术,这曾经使得玩家为了转载 2014-01-13 13:28:57 · 2128 阅读 · 0 评论 -
OpenGL中无法解析的外部符号 __imp____glutInitWithExit@12和__imp____glutCreateWindowWithExit@8
在OpenGL中使用glut库的时候,突然遇到以下错误: 1>framebuffer.obj : error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>framebuffer.obj : error LNK2019: 无法解析的外部符号 __imp_原创 2013-12-12 15:52:55 · 1694 阅读 · 0 评论 -
OpenGL中求顶点的法线
在opengl中为了模拟光线或进行光照计算,我们往往需要首先计算法线。法线是一个向量定义了表面对光照的响应。例如,如何去照亮它。表面的光照强度(即反射光量)是和光线方向与法线方向的夹角成正比的,夹角越小表面就会看起来越亮(具体可以参考http://blog.csdn.net/racehorse/article/details/6641623)。 我们知道求一个面的法线,但是一个顶点的法线原创 2013-09-30 11:02:28 · 14875 阅读 · 1 评论 -
顶点法线和面法线
一、问题描述:当几个面共享了一个顶点时,该如何设置这个顶点的法线呢?二、下面是参考 Max Wagner 的 文章 《Generating Vertex Normals》,记的笔记。1. 设顶点法线与设面法线有什么区别?面的法线是与面垂直的线(数学意义)。但在OpenGL中好像并非这样。严格意义上讲,点是没有法线的。点的法线是在使用Phone或Gouraud模型时计转载 2013-09-24 09:36:30 · 8106 阅读 · 0 评论 -
OpenGL光照
最近用到opengl光照,之前接触过一点,那还是opengl1.X版本的吧,传统的固定管线。但也只是略知皮毛,只知道一些开启/关闭灯,环境光,散射光和镜面光等。由于当时是刚接触opengl,没有实际应用,只能算是了解有这个东西吧。现在既然要用这个东西,再加上,现在已经是可编程管线了的天下了,处理方式也有些不同了。于是决定好好整理下这块东西,同时深入学习下。 1. 光源类型 根据原创 2013-09-30 14:58:45 · 1354 阅读 · 0 评论 -
glPushMatrix和glPopMatrix的作用
glPushMatrix、glPopMatrix操作其实就相当于栈里的入栈和出栈。 许多人不明白的可能是入的是什么,出的又是什么。例如你当前的坐标系原点在你电脑屏幕的左上方。现在你调用glPushMatrix,然后再调用一堆平移、旋转代码等等,然后再画图。那些平移和旋转都是基于坐上角为原点进行变化的。而且都会改变坐标的位置,经过了这些变化后,你的坐标肯定不再左上角了。 那如果想转载 2013-08-29 15:47:50 · 852 阅读 · 0 评论 -
OpenGL中屏幕坐标转为OpenGL坐标
在opengl中我们经常碰到需要把屏幕坐标转换成opengl坐标,例如我们做拾取,旋转,平移等操作。网上有很多相关代码: 原理: 鼠标点击屏幕中的某点,然后获取该点屏幕坐标对应的OpenGL坐标。鼠标点的坐标很容易获得,直接从鼠标点击消息中获取就可以,但是OpenGL坐标却需要做一定计算转换。需要用到的核心OpenGL函数是gluUnProject()。 代码1:GLint原创 2013-08-14 11:26:48 · 1383 阅读 · 0 评论 -
[学习Vulkan之一] 初识Vulkan
转自:http://www.52vr.com/article-605-1.htmlVulkan是Khronos组织制定的“下一代”开放的图形显示API,是与DirectX12可以匹敌的GPU API标准。Vulkan是基于AMD的Mantle API演化而来,目前Vulkan 1.0标准已经完成并正式发布。上一代的OpenGL|ES并不会被遗弃,还会继续发展,很有可能O转载 2017-03-29 21:49:42 · 1968 阅读 · 0 评论