OpenGL extension specification (from openGL.org)

时间:2023-02-18 19:33:55

Shader read/write/atomic into UAV global memory (need manual sync)

http://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt

Render to Texture

http://www.opengl.org/registry/specs/ARB/wgl_render_texture.txt

Depth Texture for "Shadow Casting", "Image-based render" or "Displacement Mapping"

http://www.opengl.org/registry/specs/SGIX/depth_texture.txt

 This extension defines a new depth texture format.  An important
application of depth texture images is shadow casting, but separating
this from the shadow extension allows for the potential use of depth
textures in other applications such as image-based rendering or
displacement mapping. This extension does not define new depth-texture
environment functions, such as filtering or applying the depth values
computed from a texture, but leaves this to other extensions, such as
the shadow extension.

http://www.opengl.org/registry/specs/ARB/fragment_shader.txt

Float format to Color buffer and Depth buffer

http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt

http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt

Texture swizzle:

http://www.opengl.org/registry/specs/ARB/texture_swizzle.txt

Classic OpenGL texture formats conflate texture storage and
interpretation, and assume that textures represent color. In
modern applications, a significant quantity of textures don't
represent color, but rather data like shadow maps, normal maps,
page tables, occlusion data, etc.. For the latter class of data,
calling the data "RGBA" is just a convenient mapping of what the
data is onto the current model, but isn't an accurate reflection
of the reality of the data. The existing texture formats provide an almost orthogonal set of
data types, sizes, and number of components, but the mappings of
this storage into what the shader or fixed-function pipeline
fetches is very much non-orthogonal. Previous extensions have
added some of the most demanded missing formats, but the problem
has not been solved once and for all. This extension provides a mechanism to swizzle the components
of a texture before they are applied according to the texture
environment in fixed-function or as they are returned to the
shader.

http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt

   Traditional OpenGL includes fixed-function blending that combines source
colors with the existing content of a render buffer in a variety of ways.
A number of extensions have enhanced this functionality by adding further
sources of blending weights and methods to combine them. However, the inputs
to the fixed-function blending units are constrained to a source color (as
output from fragment shading), destination color (as the current content
of the frame buffer) or constants that may be used in their place. This extension adds new blending functions whereby a fragment shader may
output two colors, one of which is treated as the source color, and the
other used as a blending factor for either source or destination colors.
Furthermore, this extension increases orthogonality by allowing the
SRC_ALPHA_SATURATE function to be used as the destination weight. http://www.opengl.org/registry/specs/ARB/sync.txt
Overview

    This extension introduces the concept of "sync objects". Sync
objects are a synchronization primitive - a representation of events
whose completion status can be tested or waited upon. One specific
type of sync object, the "fence sync object", is supported in this
extension, and additional types can easily be added in the future. Fence sync objects have corresponding fences, which are inserted
into the OpenGL command stream at the time the sync object is
created. A sync object can be queried for a given condition. The
only condition supported for fence sync objects is completion of the
corresponding fence command. Fence completion allows applications to
request a partial Finish, wherein all commands prior to the fence
will be forced to complete before control is returned to the calling
process. These new mechanisms allow for synchronization between the host CPU
and the GPU, which may be accessing the same resources (typically
memory), as well as between multiple GL contexts bound to multiple
threads in the host CPU.

http://www.opengl.org/registry/specs/ARB/sparse_texture.txt
Overview

    Recent advances in application complexity and a desire for higher
resolutions have pushed texture sizes up considerably. Often, the amount
of physical memory available to a graphics processor is a limiting factor
in the performance of texture-heavy applications. Once the available
physical memory is exhausted, paging may occur bringing performance down
considerably - or worse, the application may fail. Nevertheless, the amount
of address space available to the graphics processor has increased to the
point where many gigabytes - or even terabytes of address space may be
usable even though that amount of physical memory is not present. This extension allows the separation of the graphics processor's address
space (reservation) from the requirement that all textures must be
physically backed (commitment). This exposes a limited form of
virtualization for textures. Use cases include sparse (or partially
resident) textures, texture paging, on-demand and delayed loading of
texture assets and application controlled level of detail. http://www.opengl.org/registry/specs/ARB/texture_multisample.txt
Overview

    This extension provides support for two new types of "multisample
textures" - two-dimensional and two-dimensional array - as well as
mechanisms to fetch a specific sample from such a texture in a shader,
and to attach such textures to FBOs for rendering. This extension also includes the following functionality, first described
in NV_explicit_multisample: * A query in the API to query the location of samples within the pixel * An explicit control for the multisample sample mask to augment the
control provided by SampleCoverage

OpenGL extension specification (from openGL.org)的更多相关文章

  1. 【OpenGL】 第一篇 OpenGL概览

    ---------------------------------------------------------------------------------------------------- ...

  2. 深入理解OpenGL拾取模式(OpenGL Picking)

    深入理解OpenGL拾取模式(OpenGL Picking) 本文转自:http://blog.csdn.net/zhangci226/article/details/4749526 在用OpenGL ...

  3. OpenGL模板 Mac Cmake OpenGL(Glut) Template

    自己经常使用的一些功能做一个模板,有灯光效果,你可以用鼠标放大,围绕所述旋转坐标系的原点 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHlhbmcxOT ...

  4. [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口

    原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题

  5. Linux下安装QT和OpenGL后QT无法使用OpenGL的解决方法

    我的系统为Ubuntu14.04,用apt-get安装了实现了OpenGl的mesa,QT则是用官网下载的run文件来安装的. 好了,现在两个都分别有了,所以要在qt下尝试写OpenGl代码. 之前试 ...

  6. OpenGL学习 Our First OpenGL Program

    This shows you how to create the main window with the book’s application framework and how to render ...

  7. OpenGl之旅-—初识opengl

    昨天学习了如何使用codeblocks来编译运行一个opengl的项目.在创建一个新的opengl项目时他默认已经写了一个示例,今天我们就上面的例子进行下代码的剖析,以此来敲开opengl的神秘大门. ...

  8. Linux OpenGL 实践篇-3 绘制三角形

    本次实践是绘制两个三角形,重点理解顶点数组对象和OpenGL缓存的使用. 顶点数组对象 顶点数组对象负责管理一组顶点属性,顶点属性包括位置.法线.纹理坐标等. OpenGL缓存 OpenGL缓存实质上 ...

  9. Arch系统软件列表

    1. 安装统计 2. 安装列表 3. 安装说明 4. 作为依赖项的安装列表 5. 更正 mangaro使用减的方式安装系统.开箱即用的豪华版本,大部分人需要的都有了,同样包括个别用户不需要的,配置方面 ...

随机推荐

  1. Android手机总是提示:存储空间不足,解决方法

    手机才有16G空间,用一段时间后,总是提示内存不足,各种清理软件都没卵用. 有一个方法立即见效: 1.进入Recovery 2.格式化 SDCard 博客园首席神棍 野生菌野菜干批发 大舍大得 小舍小 ...

  2. js数字、字符串、数组之间的转化

    1.数组转字符串 var a, b; a = ,,,,); b = a.join("-"); 2.字符串转数组 var s = "abc,abcd,aaa"; ...

  3. (笔记)Linux内核学习(六)之并发和同步概念

    一 临界区和竞争条件 临界区:访问和操作共享数据的代码段. 竞争条件:多个执行线程处于同一个临界区中. 处于竞争条件:造成访问的数据或者资源不一致状态: 对资源i的访问:ProcessA和B访问后得到 ...

  4. CF 241E flights 最短路,重复迭代直到稳定 难度:3

    http://codeforces.com/problemset/problem/241/E 首先检测哪些点会出现在从起点到终点的路上,可以用dfs或者迭代, 然后,对于所有的边,设f为边起点,t为边 ...

  5. Spring AOP Example – Pointcut , Advisor

    In last Spring AOP advice examples, the entire methods of a class are intercepted automatically. But ...

  6. DEDECMS中,获取当前栏目名称

    获取当前栏目名称 {dede:field name='typeurl' function=”GetTypeName(@me)”/} 指的是当前栏目的URL地址 {dede:field name='ty ...

  7. 用java开发的网站或者程序

    中国移动的官网即其相关业务系统 阿里巴巴.淘宝网 58同城是java做的后台 铁道部12306 腾讯的拍拍网等 各大银行的交互应用系统,比如有的信用卡网银 另外,Android手机的大部分应用,其他智 ...

  8. Spring mvc中@RequestMapping 6个基本用法整理

    继续整理,这个是前段时间用jsp开发的一个站点,说起来php程序员去做jsp程序确实有些小不适应,但是弄完后绝对对于这种强类型语言而比收获还是颇多的. 1,最基本的,方法级别上应用 @RequestM ...

  9. Android全屏截图的方法,返回Bitmap并且保存在SD卡上

    Android全屏截图的方法,返回Bitmap并且保存在SD卡上 今天做分享,需求是截图分享,做了也是一个运动类的产品,那好,我们就直接开始做,考虑了一下,因为是全屏的分享,所有很自然而然的想到了Vi ...

  10. numpy 数组索引数组

    在numpy中,数组除了可以被整数索引,还可以被数组索引. a[b]就是已数组b的元素为索引,读取数组a的值. 当被索引数组a是一维数组,b是一维或则多维数组时,结果维度维度与索引数组b相同. a = ...