10 2018 档案
openGL坐标系
摘要:从我们构造模型的局部坐标系(Local/Object Space)经过一系列的处理最终渲染到屏幕坐标系(Screen Space)下,这个过程有6种坐标系。 一、世界坐标系(World Coordinates) 学名:右手笛卡尔坐标系统。 在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0,
阅读全文
glViewport函数用法
摘要:一、 其函数原型为glViewport(GLint x,GLint y,GLsizei width,GLsizei height) x,y 以像素为单位,指定了窗口的左下角位置。 width,height表示视口矩形的宽度和高度,根据窗口的实时变化重绘窗口。 二、 在默认情况下,视口被设置为占据窗口
阅读全文
句柄
摘要:简单解释: Windows是一个以虚拟内存为基础的操作系统,很多时候,进程的代码和数据并不全部装入内存,进程的某一段装入内存后,还可能被换出到外存,当再次需要时,再装入内存。两次装入的地址绝大多数情况下是不一样的。也就是说,同一对象在内存中的地址会变化。(对于虚拟内存不是很了解的读者,可以参考有关操
阅读全文
.h与.cpp
摘要:本质上没什么区别。 cpp:c plus plus,就表示为c++原文件。 .h文件实现的功能是声明.cpp文件中需要使用的变量、函数及宏定义等。 .h文件就像是一个接口,具体的实现可以在.cpp中,也可以在.h中。
阅读全文
着色器详解
摘要:在顶点着色器中,每个输入变量叫做顶点属性。 着色器语言之变量类型1>uniform: 其实就是统一(全局)变量,统一变量通常保存在所谓的“常量存储”中,uniform变量是外部(cpu)application程序传递给(顶点和片元)(GPU)着色器的变量,该变量不会随着顶点或片元的变化而变化,除非应
阅读全文
向量与矩阵的构造
摘要:一、向量 向量的构造函数可以阶段或者加长一个向量 1>如果讲一个较长的向量传递给一个较短向量的构造函数,那么向量将自动取短到对应的长度。 vec4 color; vec3 RGB = vec3(color);//现在RGB只有前三个分量了 2>加长向量 vec3 white = vec3(1.0);
阅读全文
glDrawArrays 和 glDrawElements
摘要:在openGL中,所有图形都是通过分解成三角形的方式进行绘制。(一个矩形分解成两个三角形进行绘制) glDrawArrays 和 glDrawElements 的作用都是从一个数据数组中提取数据渲染基本图元。 一、glDrawArrays(int mode,int first,int count)
阅读全文
openGL图形渲染管线
摘要:在OpenGL中,任何事物都在3D空间中,而屏幕和窗口却是2D像素数组,这导致OpenGL的大部分工作都是关于把3D坐标转变为适应屏幕的2D像素。3D坐标转为2D坐标的处理过程是由OpenGL的图形渲染管线管理的。 图形渲染管线可以被划分为两个主要部分:第一部分把你的3D坐标转换为2D坐标,第二部分
阅读全文
什么是shader?
摘要:一、什么是shader? shader是一段GLSL(openGL着色语言)小程序,运行在GPU(图形处理器),而非CPU使用GLSL语言编写,看上去像c或c++,但却是另外一种不同的语言。使用shader就像写个普通程序一样,写代码-->编译-->链接在一起才能生成最终的程序。 着色器类似一个函数
阅读全文
openGL常用对象的创建及使用
摘要:一、GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。GPU(显卡核心芯片)是显示卡的“大脑”,它决定了该显卡的档次和大部分性能 二、使用背景 随着OpenGL状态和固定管线模式的移除,我们不在用任何glEnable函数调用,而且也不会有glVertex、glC
阅读全文
openGL如何在改变窗口大小时,使自己的图形不被拉伸
摘要:这里要注意两个概念:视口和视景体,当视口的纵横比和视景体的纵横比相同的时候,改变窗口大小,图像才不会变形; 视景体是指成像景物所在空间的集合。它是一个空间集合体。 单个的视景体,比如一个球体,若要完全显示,其视景体应该是该球体的最小外接立方体;若要只显示上半部分,则取上半球,其视景体是上半球的最小外
阅读全文
opengl 单缓冲与双缓冲
摘要:1、说明 GLUT_SINGLE 指定单缓存窗口 GLUT_DOUBLE 指定双缓存窗口 应用程序使用单缓冲绘图时可能会存在图像闪烁的问题。 这是因为生成的图像不是一下子被绘制出来的,而是按照从左到右,由上而下逐像素地绘制而成的。最终图像不是在瞬间显示给用户,而是通过一步一步生成的,这会导致渲染的结
阅读全文
绘制矩形的参数(浮点数和整数)
摘要:1、添加矩形 在display函数中已添加glRectf(-0.5f,-0.5f,0.5f,0.5f);就能在窗口上绘制一个矩形,默认的颜色是白色。如果要修改颜色,就在glRectf(-0.5f,-0.5f,0.5f,0.5f);之前添加设置颜色的代码glColor3f(1.0f, 0.0f, 0.
阅读全文
浙公网安备 33010602011771号