51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#OpenGL
OpenGL/FreeGlut:基础篇 第一章 初始化
#include<GL/freeglut.h>////////////////////////////////////////////////////////渲染场景voidrenderScene(void){glClear(GL_COLOR_BUFFER_BIT);glBegin(GL_TRIANGLE...
代码星球
·
2023-05-06
OpenGL
FreeGlut
基础
第一章
初始化
OpenGLES使用glReadPixels保存并旋转处理一张Bitmap图片,记录一下
1. 必须GLThread线程里调用funsaveFrame(filename:String,width:Int,height:Int){valstartTime=System.currentTimeMillis()//1.glReadPixels返回的是大端的RGBAByte组数,我们使用小端Buffer接收得到AB...
代码星球
·
2021-02-22
OpenGLES
使用
glReadPixels
保存
旋转
OpenGLES以及shader开发调试工具
1.shader开发编辑器kodelife,地址:https://hexler.net/products/kodelife2.shader调试工具GAPID,google开源的一个项目,地址:https://github.com/google/gapid3.shader调试工具RenderDoc,地址:https://...
代码星球
·
2021-02-22
OpenGLES
以及
shader
开发
调试
mac上使用Xcode编译调试LearnOpenGL源代码的方法
1.下载LearnOpenGL源代码,地址:https://github.com/JoeyDeVries/LearnOpenGL2.打开Terminal窗口,输入以下命令 brewinstallcmakeassimpglmglfw //使用Homebrew安装cmake、assimp、glm、glfw,注意:需要翻...
代码星球
·
2021-02-22
mac
使用
Xcode
编译
调试
OpenGL里的坐标系统以及其变换
局部坐标是对象相对于局部原点的坐标,也是物体起始的坐标。下一步是将局部坐标变换为世界空间坐标,世界空间坐标是处于一个更大的空间范围的。这些坐标相对于世界的全局原点,它们会和其它物体一起相对于世界的原点进行摆放。接下来我们将世界坐标变换为观察空间坐标,使得每个坐标都是从摄像机或者说观察者的角度进行观察的。坐标到达观察空间...
代码星球
·
2021-02-20
OpenGL
坐标
系统
及其
变换
OpenGL里的VBO,VAO,EBO的理解
顶点缓冲对象(VertexBufferObjects,VBO)管理这个内存,它会在GPU内存(通常被称为显存)中储存大量顶点。使用VBO的好处是我们可以一次性的发送一大批数据到显卡上,而不是每个顶点发送一次。顶点数组对象(VertexArrayObject,VAO)可以像顶点缓冲对象那样被绑定,任何随后的顶点属性调用都...
代码星球
·
2021-02-20
OpenGL
里的
VBO
VAO
EBO
OpenGLES2.0编译和使用着色器
...
代码星球
·
2021-02-20
OpenGLES2.0
编译
使用
着色
OpenGLES2.0可编程管道示意图
PrimitiveProcessing:原始处理VertexShader:顶点着色器PrimitiveAssembly:原始组装Rasterizer:光栅化FragmentShader:片段着色器DepthStencil:深度模板ColorBufferBlend:色彩缓冲区混合Dither:抖动FrameBuffer:...
代码星球
·
2021-02-20
OpenGLES2.0
可编程
管道
示意图
OpenGL第十四节:绘制重复纹理
FromLTexture.cpp #include"LTexture.h" #include<IL/il.h> #include<IL/ilu.h> GLenumDEFAULT_TEXTURE_WRAP=GL_REPEAT;boolLTexture::loadTextureFromPix...
代码星球
·
2021-02-20
OpenGL
第十四
绘制
重复
纹理
OpenGL第十三节:矩阵变换
LTexture.cppvoidLTexture::render(GLfloatx,GLfloaty,LFRect*clip){ if(mTextureID!=0) { GLfloattexTop=0.f; GLfloattexBottom=(GLfloat)mImageHeight/(GLfloat)...
代码星球
·
2021-02-20
OpenGL
第十
三节
矩阵
变换
OpenGL第十二节:旋转
LTexture.cppvoidLTexture::render(GLfloatx,GLfloaty,LFRect*clip,LFRect*stretch,GLfloatdegrees){ if(mTextureID!=0) { glLoadIdentity(); GLfloattexTop=0.f; ...
代码星球
·
2021-02-20
OpenGL
第十二
旋转
OpenGL第十一节:拉伸和过滤
LTexture.hvoidrender(GLfloatx,GLfloaty,LFRect*clip=NULL,LFRect*stretch=NULL); LTexture.cppvoidLTexture::render(GLfloatx,GLfloaty,LFRect*clip,LFRect*stretch...
代码星球
·
2021-02-20
OpenGL
第十
一节
拉伸
过滤
OpenGL第十节:彩色键控与混合
LTexture.hboolloadPixelsFromFile(std::stringpath);boolloadTextureFromFileWithColorKey(std::stringpath,GLubyter,GLubyteg,GLubyteb,GLubytea=000);boolloadTextureFr...
代码星球
·
2021-02-20
OpenGL
第十
彩色
键控
混合
OpenGL第九节:操作像素点去更新纹理
LTexture.hboollock();boolunlock();GLuint*getPixelData32();//获取像素GLuintgetPixel32(GLuintx,GLuinty);//获取x,y位置对应的像素点voidsetPixel32(GLuintx,GLuinty,GLuintpixel);//设...
代码星球
·
2021-02-20
OpenGL
第九
操作
像素
点去
OpenGL第八节:非二次幂的纹理渲染处理
纹理渲染的图片的宽度和高度需要是二次幂的,如果不是二次幂的,需要通过填充的方式(就是添加边距),填充到二次幂。LTexture.hboolloadTextureFromPixels32(GLuint*pixels,GLuintimgWidth,GLuintimgHeight,GLuinttexWidth,GLuintt...
代码星球
·
2021-02-20
OpenGL
八节
二次幂
纹理
渲染
首页
上一页
1
2
3
4
5
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他