glGenTextures】的更多相关文章

http://blog.sina.com.cn/s/blog_67ede2d80100w3i8.html glGenTextures(GLsizei n, GLuint *textures)函数说明   n:用来生成纹理的数量   textures:存储纹理索引的   glGenTextures函数根据纹理参数返回n个纹理索引.纹理名称集合不必是一个连续的整数集合.   (glGenTextures就是用来产生你要操作的纹理对象的索引的,比如你告诉OpenGL,我需要5个纹理对象,它会从没有用到…
0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLAM.Marker-Based还是GPS的方法,就不一而足了. 所以说要在手机上进行现实场景的展现也是目前AR应用一个比较重要的模块.一般来说,在移动端,基本上都是使用OpenGL ES进行绘制.所以我们优先考虑使用OpenGL ES进行相机的绘制.当然,有些应用直接利用iOS的UIImage进行相机…
+BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffer Texture和Framebuffer是OpenGL进行3D渲染高级效果必不可少的利器.有了Texture和Framebuffer就可以实现体渲染(Volume Rendering)等效果.现在到了对Texture和Framebuffer的创建.修改.使用进行封装的时候. +BIT祝威+悄悄在此…
原文地址 http://my.oschina.net/sweetdark/blog/177812 , 感谢作者,若非法转载请联系本人. 目录[-] Mipmapping Mipmap过滤 构建Mip层 Mipmaps 硬件生成 LOD(多细节层次)偏好 纹理对象 管理多个纹理 常驻纹理 纹理优先级 回顾 Mipmapping Mipmap是一个功能强大的纹理技术,它可以提高渲染的性能以及提升场景的视觉质量.它可以用来解决使用一般的纹理贴图会出现的两个常见的问题: 闪烁,当屏幕上被渲染物体的表面与…
OpenGL FrameBufferCopy相关Api比较 glCopyPixels,glReadPixels,glCopyTexImage2D,glFramebufferTexture2D 标题所述的openGL api都是与提取frame buffer中的像素有关,那么它们有何区别呢? 1.void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) 描述: 将屏幕(opengGL程序窗口)中的…
http://www.codinglabs.net/tutorial_opengl_deferred_rendering_shadow_mapping.aspx Tutorial - Deferred Rendering Shadow Mapping In this tutorial I will present the shadow mapping technique implemented in a deferred renderer. This tutorial will lean on…
本文是原创文章,如需转载,请注明文章出处 在游戏开发中,经常会有这样的需求:给定一张64x64的卡牌素材,要求只显示以图片中心为圆点.直径为64的圆形区域,这就要用到模板测试来进行不规则裁剪. 实现不规则裁剪的主要思路如下: 1.准备好素材:要显示的64x64图片一张,不规则形状的遮罩图一张(本例中为圆形图). 2.打开alpha测试,将测试通过条件设置成>0.5,使遮罩图中心的圆形区域可以通过测试,周围的透明像素无法通过测试. 3.打开模板测试,将测试通过条件设置成GL_NEVER,并将测试失…
实验平台:Win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): 本文描述图形学的两个最常用的阴影技术之一,Shadow Mapping方法(另一种是Shadow Volumes方法).在讲解Shadow Mapping基本原理及其基本算法的OpenGL实现之后,将继续深入分析解决几个实际问题,包括如何处理全方向点光源.多个光源.平行光.最近还有可能写一篇Shadow Volumes的博文(目前已经将基本理论弄清楚了),在那里,将对Shadow Ma…
图形管线(graphics pipeline)向来以复杂为特点,这归结为图形任务的复杂性和挑战性.OpenGL作为图形硬件标准,是最通用的图形管线版本.本文用自顶向下的思路来简单总结OpenGL图形管线,即从最高层开始,然后逐步细化到管线图中的每个框,再进一步细化到OpenGL具体函数.注意,这里用经典管线代说着色器内部,也就是OpenGL固定管线功能(Fixed-Function,相对于programmable也即可编程着色器),也会涉及着色器,但差不多仅限于“这些固定管线功能对应xx着色器”…
OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率.16色来做吗?显然是不行的. 本帖的目的是让大家放弃TC的老旧图形接口,让大家接触一些新事物. OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性. 1.与C语言紧密结合. OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,Open…
在这篇文章中,我们将学习如何在openGL中使用纹理贴图. penGL中纹理可以分为1D,2D和3D纹理,我们在绑定纹理对象的时候需要指定纹理的种类.由于本文将以一张图片为例,因此我们为我们的纹理对象绑定一个GL_TEXTURE_2D的纹理. 本文将分为两个部分,一部分是如何通过图片获取一个2D的纹理,另一部分是如何使用一个纹理. 在上一篇中,我们介绍了如何使用shader来绘制一个多边形,本文是基于上一篇的提高,我们也将继续使用shader,对于shader使用不熟的童鞋可以看上一篇. 首先我…
作者:Dominik Göddeke                 译者:华文广 Contents 介绍 准备条件 硬件设备要求 软件设备要求 两者选择 初始化OpenGL GLUT OpenGL 扩展 OpenGL 离屏渲染 GPGPU 概念1: 数组 = 纹理 在CPU上建立数组 在 GPU上生成浮点纹理 数组索引与纹理坐标一一对应 使用纹理作渲染对像 把数据从CPU数组传输到GPU的纹理 把数据从GPU的纹理传输到CPU数组 一个简单的示例 GPGPU 概念 2: 内核 = 着色器 面向…
书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说白了其实是懒得用OpenGL写画几何体代码,画线,AA什么的. 不管怎么说,介绍看的是这篇文章. http://www.cnblogs.com/yanhuiw/p/3885144.html 提到了3个矢量库,因为墙的原因,google的Skia死活弄不下来,所以只写前两个. 首先是AGG,http:…
Android 上使用Opengl进行滤镜渲染效率较高,比起单纯的使用CPU给用户带来的体验会好很多.滤镜的对象是图片,图片是以Bitmap的形式表示,Opengl不能直接处理Bitmap,在Android上一般是通过GLSurfaceView来进行渲染的,也可以说成Android需要借助GLSurfaceView来完成对图片的渲染. GlSurfaceView 的图片来源依然是Bitmap,但是Bitmap需要以纹理(Texture)的形式载入到Opengl中.因此我首先来看一下载入纹理的步骤…
最近想用C++在windows下实现一个基本的图像查看器功能,目前只想到了使用GDI或OpenGL两种方式.由于实在不想用GDI的API了,就用OpenGL的方式实现了一下基本的显示功能. 用GDAL读取图像,这样就能与图像格式无关.OpenGL的glDrawPixels()函数也能实现图像显示,但是现在高版本的OpenGL都采用glTexImage2D()贴纹理的方式了,也不用考虑图像大小是否是2的N次方,或者4字节对齐的问题.具体实现如下: // ImageShow.cpp : 定义控制台应…
这个是8年前写的demo,提交的一份作业,按照提出的需求点,以最快和最简单的方式完成功能,因此代码比较简单. 1)截图 2) 功能点描述: 1.公转,自传 2.基础的摄像机运动 3.正视和顶视 4.天空盒 5.太阳黑子爆炸 6.彗星带尾巴 7.录制重播 3) 实现代码: 1.简单的摄像机代码(目前仅支持移动,不支持旋转) struct glCamera { vec3 pos;//摄像机的世界空间坐标 ]; vec3 forward; vec3 right; vec3 up; public : g…
class CBIKMaterial { public: CBIKMaterial(); ~CBIKMaterial(); bool Init(const char *pFileName); void Shutdown(void); bool Update(void); int GetTexture(void); void GetFrameSize(int *pWidth, int *pHeight); int GetFrameRate(void); int GetFrameCount(void…
SurfaceView, GLSurfaceView, SurfaceTexture以及TextureView是Android当中名字比较绕,关系又比较密切的几个类.本文基于Android 5.0(Lollipop)的代码理一下它们的基本原理,联系与区别.   SurfaceView 从Android 1.0(API level 1)时就有 .它继承自类View,因此它本质上是一个View.但与普通View不同的是,它有自己的Surface.我们知道,一般的Activity包含的多个View会组…
OpenGL常用函数   glAccum 操作累加缓冲区   glAddSwapHintRectWIN 定义一组被 SwapBuffers拷贝的三角形   glAlphaFunc允许设置alpha检测功能   glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中   glArrayElement 定义一个被用于顶点渲染的数组成分   glBegin,glEnd 定义一个或一组原始的顶点   glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理  gl…
大概步骤: 1.创建纹理对象,并为他指定一个纹理. 2.确定纹理如何应用到每个像素上. 3.启用纹理贴图 4.绘制场景,提供纹理和几何坐标 过滤:由于我们提供的纹理图像很少能和最终的屏幕坐标形成对应,大小不同,所以需要设置过滤项目.允许我们进行插值或者匀和,指定放大缩小的函数.glTexParameter*(),使用过滤模式GL_NEAREST那么纹理单位最邻近的将被使用,GL_LINEAR那么就用2*2的包含纹理数据的数组加权组作为纹理; 命名纹理对象:glGenTexures(GLSize…
glAccum 操作累加缓冲区   glAddSwapHintRectWIN 定义一组被 SwapBuffers拷贝的三角形   glAlphaFunc允许设置alpha检测功能   glAreTexturesResident 决定特定的纹理对象是否常驻在纹理内存中   glArrayElement 定义一个被用于顶点渲染的数组成分   glBegin,glEnd 定义一个或一组原始的顶点   glBindTexture 允许建立一个绑定到目标纹理的有名称的纹理  glBitmap 绘制一个位图…
(一)OpenGL函数库 格式: <库前缀><根命令><可选的参数个数><可选的参数类型> 库前缀有 gl.glu.aux.glut.wgl.glx.agl 等等. 1.核心函数库主要可以分为以下几类函数 (1) 绘制基本的几何图元函数.如:glBegain(). (2) 矩阵操作.几何变换和投影变换的函数.如:矩阵入栈glPushMatrix(),还有矩阵的出栈.转载.相乘,此外还有几何变换函数glTranslate*(),投影变换函数glOrtho()和…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第四十五课:顶点缓存 顶点缓存 你想更快地绘制么?直接操作显卡吧,这可是当前的图形技术,不要犹豫,我带你入门.接下来,你自己向前走吧.   速度是3D程序中最重要的指标,你必须限制绘制的多边形的个数,或者提高显卡绘制多边形的效率.显…
1:初始化(SDL_Init()) SDL简介 有关SDL的简介在<最简单的视音频播放示例7:SDL2播放RGB/YUV>以及<最简单的视音频播放示例9:SDL2播放PCM>中已经叙述过了,不再重复.这两篇文章中也提到了一张SDL的原理图,如下所示: 从这个图中可以看出,SDL根据系统的不同调用不同的API完成相应的功能.至于它是如何实现的,将会在后文中详细叙述.下面不再罗嗦,直接进入正题. 使用SDL播放一个视频代码流程大体如下 初始化: SDL_Init(): 初始化SDL. …
工程下载地址:http://pan.baidu.com/s/1ntr7NHv 提取码:yf1h 一.本文牵扯知识点梳理: (1)VBO (2)纹理 (3)libpng(加载png) (4)shader 1.VBO(Vertex Buffer Objec) //顶点坐标   glEnableVertexAttribArray(0);//激活顶点属性数组 glGenBuffers(1, &VertexID);创建句柄   glBindBuffer(GL_ARRAY_BUFFER, VertexID)…
glsl 的reflect(I,N)其中I是 眼睛(camera)位置到顶点位置的方向向量,N为顶点法线,必须要归一化 橙宝书里给出的计算过程是这样的:reflect(I,N) = I - 2 *dot(I,N)*N vec3 reflect(const vec3 &i, const vec3 &n) { return i - 2.0f * dot(n, i) * n; } //cubeMap glGenTextures(1, &m_TexID); glBindTexture(GL…
首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <OpenGL ES学习笔记(二)--平滑着色.自适应宽高及三维图像生成>中阐述的平滑着色.自适应宽高是为了实现在移动端模拟真实场景采用的方法,并且通过w分量增加了三维视角,在具体实现上采用了正交投影.透视投影的理论.本文将在此基础上,构建更加精美的三维场景.三维效果本质上是点.直线和三角形的组合,纹理是将图像或者照片覆盖到物体表面…
Quake OpenGL function for MetaHook plugin. Thank hzqst :D QGL.h #ifndef QGL_H #define QGL_H #include <gl/gl.h> #include <gl/glext.h> extern void (APIENTRY *qglAccum)(GLenum op, GLfloat value); extern void (APIENTRY *qglAlphaFunc)(GLenum func,…
摘要:在NeHe的OpenGL教程第43课源代码基础上,调用文泉驿正黑字体实现中文字体的显示 在OpenGL中显示汉字一直是个麻烦的事情,很多中文书籍的文抄公乐此不疲地介绍各种方法及其在windows下的代码实现.此处不在赘述,有兴趣的可以参考下面的文章: OpenGL点阵字体绘制终极解决方案!哈! 下面的代码是在NeHe教程第43课的基础上,添加了中文字体显示功能,原则上只要字体库支持,任何unicode字符串都是可以显示的 btw,unbutu下字体库文件位置:/usr/share/font…
GLuinttexture[1]; AUX_RGBImageRec *TextureImage[1]; Status=TRUE; // Set The Status To TRUE glGenTextures(1, &texture[0]); // Create The Texture,GLuint texture[0]是纹理的名字 // Typical Texture Generation Using Data From The Bitmap glBindTexture(GL_TEXTURE_…