Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
openGL之API学习(六十九)水平同步 垂直同步
垂直和水平是CRT中两个基本的同步信号 水平同步信号决定了CRT画出一条横越屏幕线的时间 垂直同步信号决定了CRT从屏幕顶部画到底部 再返回原始位置的时间 而恰恰是垂直同步代表着CRT显示器的刷新率水平 垂直同步打开 那么在游戏中 或许强劲
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(一九三)glGenTextures
生成纹理单元名 单元名不一定是连续的 但是没有使用的 单元名是相对GL TEXTURE0的 对于单元名1 其实是GL TEXTURE0 1 glGenTextures产生的是一个比较小的整数id 纹理单元名 glActiveTexture激
openGL之API学习
P2P
LINQ
蓝桥杯
openGL之API学习(二零三)GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_T
设置纹理坐标超出0 1范围时的处理方式 使用函数glTexParameteri 设置纹理参数 设置纹理参数 GL TEXTURE WRAP S 为 GL REPEAT 表示纹理X方向循环使用纹理 glTexParameteri GL TEX
openGL之API学习
贴图
cocos2d
几何学
openGL之API学习(六十三)GL_RASTERIZER_DISCARD
glEnable GL RASTERIZER DISCARD 使用GL RASTERIZER DISCARD标志作为参数调用glEnable 函数 告诉渲染管线在transform feedback可选阶段之后和到达光栅器前抛弃所有的图元
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(一九九)纹理单元和纹理对象的关系
glGenTextures产生的是纹理对象 简称纹理 纹理单元数量在GPU上确定的 不需要创建 glBindTexture将纹理对象绑定到当前纹理单元的的目标类型上 一个纹理单元可以有多个类型1D 2D等 一个纹理对象能够绑定到多个目标类型
openGL之API学习
cocos2d
深度学习
机器学习
openGL之API学习(一九四)glGenTextures glActiveTexture
glGenTextures产生的是一个比较小的整数id 纹理单元名 glActiveTexture激活的是纹理单元号 GL TEXTUREi 它们二者的关系为GL TEXTUREi GL TEXTURE0 id glBindTexture使
openGL之API学习
c
蓝桥杯
开发语言
openGL之API学习(二零二)glsl的smooth flat
采用flat着色时 OpenGL将使用图元中某个顶点的颜色来渲染整个图元 通常情况下会选择图元的第一个或最后一个顶点的颜色作为该图元的颜色 在使用smooth着色时 OpenGL会独立的处理图元中各个顶点的颜色 对于线段图元 线段上各点的颜
openGL之API学习
几何学
算法
openGL之API学习(十六)glViewport
确定要绘制的区域 如果你打算把整个屏幕渲染到一个或大或小的纹理上 你需要用新的纹理的尺寸作为参数再次调用glViewport 要在渲染到你的帧缓冲之前做好 否则只有一小部分纹理或屏幕能够绘制到纹理上 void glViewport GLin
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(六)如何绑定深度缓冲区到片元着色器
本质是使用帧缓冲区glBindFramebuffer GL FRAMEBUFFER m fbo 深度缓存是帧缓冲区的一个挂载点 在OpenGL中3d管线输出的结果称为 帧缓冲对象 简称FBO FBO可以挂载颜色缓冲 在屏幕上显示 深度缓冲区
OpenGL
图形学
着色器
openGL之API学习
openGL之API学习(六十七)glTexParameter glTextureParameter
设置纹理对象的参数 这两个函数其实是一个功能 void glTexParameterf GLenum target GLenum pname GLfloat param target Specifies the target to whic
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(六十二)glBufferData
往gpu缓冲区写入数据 void glBufferData GLenum target GLsizeiptr size const GLvoid data GLenum usage target Specifies the target t
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(四)纹理操作
纹理操作代码流程 向着色器传递纹理单元 glUniform1i gSampler 0 向GPU上传纹理数据 GLuint m textureObj glGenTextures 1 m textureObj 生成一个纹理对象 一个纹理对象有多
OpenGL
图形学
着色器
openGL之API学习
openGL之API学习(七十三)opengl与Direct3D(D3D)
架构上 在架构上其实两者没有什么区别 只是D3D的runtime是在OS里 对于不同硬件来说都是一样的 而OpenGL的runtime直接是和驱动合为一体的 但这并不会造成性能有所差别 shader上 OpenGL 的原生shading l
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(三十)深度缓冲区深度值为负值
通过 glReadPixels 0 0 WINDOW WIDTH WINDOW HEIGHT GL DEPTH COMPONENT GL UNSIGNED BYTE tmpPixelsBuffer 从帧缓冲区中读取深度信息 深度值竟然是负值
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(一七八)glsl版本功能演变
GLSL 120 增加 1 你可以在着色器中初始化数组 如下所示 1 2 float a 5 float 5 3 4 4 2 5 0 5 2 1 1 float b 5 float 3 4 4 2 5 0 5 2 1 1 然而 即使使用GL
openGL之API学习
openGL之API学习(九十三)OpenGL中EXT,ARB扩展
由于OpenGL的标准更新不是很频繁 因此 当某种技术应用流行起来时 显卡厂商为了支持该技术 会使用自己的扩展来实现该功能 但是不同厂商如果有不同的实现 那么程序编写将会异常繁琐 因此多个厂商共同协商使用一致的扩展 这就是EXT扩展 如果这
OpenGL
可视化
着色器
GLSL
openGL之API学习
openGL之API学习(五十二)透视分割 透视除法的执行位置
根据文章https blog csdn net hankern article details 89220736 的分析 透视分割 又叫透视除法 执行的位置在栅格化阶段
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(一九六)纹理单元名(纹理对象)和纹理单元的关系
glGenTextures产生的是一个比较小的整数id 纹理单元名 glActiveTexture激活的是纹理单元号 GL TEXTUREi 它们二者的关系为GL TEXTUREi GL TEXTURE0 id glBindTexture使
openGL之API学习
OpenGL
openGL之API学习(二十七)glEnable
开启服务器端的opengl功能 void glEnable GLenum cap GL BLEND If enabled blend the computed fragment color values with the values in
OpenGL
图形学
着色器
GLSL
openGL之API学习
openGL之API学习(一八八)glVertexAttribPointer和glVertexPointer
在之前的OpenGL版本里 每个属性都对应了一个特定的通道 我们使用glVertex glTexCoord glNormal 或者通过访问指针函数glVertexPointer glTexCoordPointer orglNormalPoi
openGL之API学习
概率论
nodejs
vuejs
1
2
3
»