OpenGL
hipeboy
计划赶不上变化,但不计划永远没有变化!
今天不学习,明天变垃圾!
展开
-
Android OpenGL 左手坐标系 vs 右手坐标系
2d 坐标系一般来说大家都有默认: x轴朝右,y轴朝向。左手坐标系而对于三维坐标系,一般有两种习俗,左手坐标系和右手坐标系,它们的重点不是在于 z 轴标注的是哪根,而是三个方向的组合,比如之前的[从零开始计算机图形学]系列一直用左手坐标系,为了作图方便,我把 z 轴指向屏幕里。对应关系:right - x指向up - y指向front - z指向但是如果我们把手转90°。这依旧是一个左手坐标系。右手坐标系右手坐标系是这样:如果我们为了作图方便将 x轴 放到右边, y轴 放到上边,那么 z原创 2020-07-17 20:56:04 · 480 阅读 · 0 评论 -
OpenGL GLSL 内建变量与 常用内置函数
GLSL 内建变量在着色器中我们一般都会声明变量来在程序中使用,但是着色器中还有一些特殊的变量,不声明也可以使用。这些变量叫做内建变量。內建变量,相当于着色器硬件的输入和输出点,使用者利用这些输入点输入之后,就会看到屏幕上的输出。通过输出点可以知道输出的某些数据内容。当然,实际上肯定不会这样简单,这么说只是为了帮助理解。在顶点着色器中的内建变量和片元着色器的内建变量是不相同的。着色器中的内建变量有很多,在此,我们只列出最常用的集中内建变量。顶点着色器的内建变量输入变量:gl_Position:顶点坐原创 2020-07-15 20:13:45 · 3083 阅读 · 0 评论 -
OpenGL 着色器 GLSL
前言着色器(Shader)是运行在GPU上的程序,这些小程序为图形渲染管线的某个特定部分而运行,着色器只是一种把输入转化为输出的程序,着色器也是一种非常独立的程序,因为它们之间不能相互通信,它们之间唯一的沟通只有通过输入和输出GLSL简介着色器是使用OpenGL着色器语言GLSL写成的,这是一种类C语言,GLSL是为图形计算量身定制的,它包含一些针对向量和矩阵操作的有用特性着色器的开头总是要声明版本,接着是输入和输出变量、uniform和main函数,每个着色器的入口点都是main函数,在这个函数中原创 2020-07-15 18:01:28 · 637 阅读 · 0 评论 -
OpenGL glGenTextures() 函数讲解
函数原型: void glGenTextures(GLsizei n, GLuint *textures)参数说明:n:用来生成纹理的数量 textures:存储纹理索引的函数说明: glGenTextures函数根据纹理参数返回n个纹理索引。纹理名称集合不必是一个连续的整数集合。 (glGenTextures就是用来产生你要操作的纹理对象的索引的,比如你告诉OpenGL,我需要5个纹理对象,它会从没有用到的整数里返回5个给你)glBindTexture实际上是改变了OpenGL的这个原创 2020-07-10 15:01:12 · 5150 阅读 · 0 评论 -
OpenGL glTexParameteri() 函数讲解
OpenGL——纹理过滤函数glTexParameteri()图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.部分参数功能说明如下: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);GL_TEXTURE_2D: 操作2D纹理.GL_TEXTURE_WRAP_S: S方向上的贴图模式.GL_CL原创 2020-07-10 14:58:59 · 1880 阅读 · 0 评论 -
OpenGL GLUT及其函数的用法整理
GLUT - The OpenGL Utility Toolkitglut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就保证了我们编出的程序是跨平台的,如果用MFC或者Win32只能在windows操作系统上使用。选择OpenGL的一个很大原因就是因为它的跨平台性,所以我们可以尽量的使用glut库。回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指原创 2020-07-08 15:22:38 · 1154 阅读 · 0 评论 -
OpenGL glfw ,glew,glut,freeglut区别
glfw: GLFW is a free, Open Source, multi-platform library for opening a window, creating an OpenGL context and managing input. It is easy to integrate into existing applications and does not lay claim to the main loop. GLFW is written in C and has native s原创 2020-07-08 15:03:38 · 637 阅读 · 0 评论