的笔记

随时随地编辑

OpenGL ES 3.0,代号哈爾蒂亞

OpenGL ES 3.0发布时间

August 6th, 2012 – Los Angeles, SIGGRAPH 2012
同时发布了OpenGL 4.3
http://www.khronos.org/news/press/khronos-releases-opengl-es-3.0-specification


相关资源下载

宣布发布的同时,立即提供所有资源的下载
http://www.khronos.org/registry/gles/
OpenGL ES 3.0 Specific


OpenGL ES 3.0新功能

  • 兼容ES 2.0
  • multiple enhancements to the rendering pipeline to enable acceleration of advanced visual effects including: occlusion queries, transform feedback, instanced rendering and support for four or more rendering targets;  
  • high quality ETC2 / EAC texture compression as a standard feature, eliminating the need for a different set of textures for each platform;  
  • a new version of the GLSL ES shading language with full support for integer and 32-bit floating point operations;  
  • greatly enhanced texturing functionality including guaranteed support for floating point textures, 3D textures, depth textures, vertex textures, NPOT textures, R/RG textures, immutable textures, 2D array textures, swizzles, LOD and mip level clamps, seamless cube maps and sampler objects;  
  • an extensive set of required, explicitly sized texture and render-buffer formats, reducing implementation variability and making it much ea sier to write portable applications.


支持OpenGL ES 3.0的GPU

http://renderingpipeline.com/2012/08/which-gpus-support-opengl-es-3-0/
  • PowerVR Series5 SGX545 from ImgTec, announced in january 2010 supports OpenGL 3.2 and thus should also be capable of ES 3.0
  • PowerVR Series6 ‘Rogue’ from ImgTec, announced in january 2012
  • Qualcomm Adreno 320, announced in July 2012
  • Mali-T600 Series GPUs from ARM (T604/T658T624, T628T678), first generation was announced in november 2010, second generation in august 2012
  • GC800 Series from Vivante Corporation, announced august 2012

 

科纳斯组织

2006年7月31日,Khronos Group在SIGGRAPH上宣布得到OpenGL规范的控制权。

http://zh.wikipedia.org/wiki/Khronos_Group



哈爾蒂亞峰

芬南最高峰,海拔1324米.山不在高,有仙则灵.
 
查看大图



OpenGL ES 3.0 API 摘录

http://www.khronos.org/registry/gles/api/3.0/gl3.h


1 /* OpenGL ES 3.0 */
2
3 void glReadBuffer (enum mode);
4 void glDrawRangeElements (enum mode, uint start, uint end, GLsizei count, enum type, const GLvoid* indices);
5 void glTexImage3D (enum target, int level, int internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, enum format, enum type, const GLvoid* pixels);
6 void glTexSubImage3D (enum target, int level, int xoffset, int yoffset, int zoffset, GLsizei width, GLsizei height, GLsizei depth, enum format, enum type, const GLvoid* pixels);
7 void glCopyTexSubImage3D (enum target, int level, int xoffset, int yoffset, int zoffset, int x, int y, GLsizei width, GLsizei height);
8 void glCompressedTexImage3D (enum target, int level, enum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const GLvoid* data);
9 void glCompressedTexSubImage3D (enum target, int level, int xoffset, int yoffset, int zoffset, GLsizei width, GLsizei height, GLsizei depth, enum format, GLsizei imageSize, const GLvoid* data);
10 void glGenQueries (GLsizei n, uint* ids);
11 void glDeleteQueries (GLsizei n, const uint* ids);
12 bool GL_APIENTRY glIsQuery (uint id);
13 void glBeginQuery (enum target, uint id);
14 void glEndQuery (enum target);
15 void glGetQueryiv (enum target, enum pname, int* params);
16 void glGetQueryObjectuiv (uint id, enum pname, uint* params);
17 bool GL_APIENTRY glUnmapBuffer (enum target);
18 void glGetBufferPointerv (enum target, enum pname, GLvoid** params);
19 void glDrawBuffers (GLsizei n, const enum* bufs);
20 void glUniformMatrix2x3fv (int location, GLsizei count, bool transpose, const GLfloat* value);
21 void glUniformMatrix3x2fv (int location, GLsizei count, bool transpose, const GLfloat* value);
22 void glUniformMatrix2x4fv (int location, GLsizei count, bool transpose, const GLfloat* value);
23 void glUniformMatrix4x2fv (int location, GLsizei count, bool transpose, const GLfloat* value);
24 void glUniformMatrix3x4fv (int location, GLsizei count, bool transpose, const GLfloat* value);
25 void glUniformMatrix4x3fv (int location, GLsizei count, bool transpose, const GLfloat* value);
26 void glBlitFramebuffer (int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, GLbitfield mask, enum filter);
27 void glRenderbufferStorageMultisample (enum target, GLsizei samples, enum internalformat, GLsizei width, GLsizei height);
28 void glFramebufferTextureLayer (enum target, enum attachment, uint texture, int level, int layer);
29 GLvoid* GL_APIENTRY glMapBufferRange (enum target, intptr offset, GLsizeiptr length, GLbitfield access);
30 void glFlushMappedBufferRange (enum target, intptr offset, GLsizeiptr length);
31 void glBindVertexArray (uint array);
32 void glDeleteVertexArrays (GLsizei n, const uint* arrays);
33 void glGenVertexArrays (GLsizei n, uint* arrays);
34 bool GL_APIENTRY glIsVertexArray (uint array);
35 void glGetIntegeri_v (enum target, uint index, int* data);
36 void glBeginTransformFeedback (enum primitiveMode);
37 void glEndTransformFeedback (void);
38 void glBindBufferRange (enum target, uint index, uint buffer, intptr offset, GLsizeiptr size);
39 void glBindBufferBase (enum target, uint index, uint buffer);
40 void glTransformFeedbackVaryings (uint program, GLsizei count, const GLchar* const* varyings, enum bufferMode);
41 void glGetTransformFeedbackVarying (uint program, uint index, GLsizei bufSize, GLsizei* length, GLsizei* size, enum* type, GLchar* name);
42 void glVertexAttribIPointer (uint index, int size, enum type, GLsizei stride, const GLvoid* pointer);
43 void glGetVertexAttribIiv (uint index, enum pname, int* params);
44 void glGetVertexAttribIuiv (uint index, enum pname, uint* params);
45 void glVertexAttribI4i (uint index, int x, int y, int z, int w);
46 void glVertexAttribI4ui (uint index, uint x, uint y, uint z, uint w);
47 void glVertexAttribI4iv (uint index, const int* v);
48 void glVertexAttribI4uiv (uint index, const uint* v);
49 void glGetUniformuiv (uint program, int location, uint* params);
50 int GL_APIENTRY glGetFragDataLocation (uint program, const GLchar *name);
51 void glUniform1ui (int location, uint v0);
52 void glUniform2ui (int location, uint v0, uint v1);
53 void glUniform3ui (int location, uint v0, uint v1, uint v2);
54 void glUniform4ui (int location, uint v0, uint v1, uint v2, uint v3);
55 void glUniform1uiv (int location, GLsizei count, const uint* value);
56 void glUniform2uiv (int location, GLsizei count, const uint* value);
57 void glUniform3uiv (int location, GLsizei count, const uint* value);
58 void glUniform4uiv (int location, GLsizei count, const uint* value);
59 void glClearBufferiv (enum buffer, int drawbuffer, const int* value);
60 void glClearBufferuiv (enum buffer, int drawbuffer, const uint* value);
61 void glClearBufferfv (enum buffer, int drawbuffer, const GLfloat* value);
62 void glClearBufferfi (enum buffer, int drawbuffer, GLfloat depth, int stencil);
63 const byte* GL_APIENTRY glGetStringi (enum name, uint index);
64 void glCopyBufferSubData (enum readTarget, enum writeTarget, intptr readOffset, intptr writeOffset, GLsizeiptr size);
65 void glGetUniformIndices (uint program, GLsizei uniformCount, const GLchar* const* uniformNames, uint* uniformIndices);
66 void glGetActiveUniformsiv (uint program, GLsizei uniformCount, const uint* uniformIndices, enum pname, int* params);
67 uint GL_APIENTRY glGetUniformBlockIndex (uint program, const GLchar* uniformBlockName);
68 void glGetActiveUniformBlockiv (uint program, uint uniformBlockIndex, enum pname, int* params);
69 void glGetActiveUniformBlockName (uint program, uint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
70 void glUniformBlockBinding (uint program, uint uniformBlockIndex, uint uniformBlockBinding);
71 void glDrawArraysInstanced (enum mode, int first, GLsizei count, GLsizei primcount);
72 void glDrawElementsInstanced (enum mode, GLsizei count, enum type, const GLvoid* indices, GLsizei primcount);
73 GLsync GL_APIENTRY glFenceSync (enum condition, GLbitfield flags);
74 bool GL_APIENTRY glIsSync (GLsync sync);
75 void glDeleteSync (GLsync sync);
76 enum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, uint64 timeout);
77 void glWaitSync (GLsync sync, GLbitfield flags, uint64 timeout);
78 void glGetInteger64v (enum pname, int64* params);
79 void glGetSynciv (GLsync sync, enum pname, GLsizei bufSize, GLsizei* length, int* values);
80 void glGetInteger64i_v (enum target, uint index, int64* data);
81 void glGetBufferParameteri64v (enum target, enum pname, int64* params);
82 void glGenSamplers (GLsizei count, uint* samplers);
83 void glDeleteSamplers (GLsizei count, const uint* samplers);
84 bool GL_APIENTRY glIsSampler (uint sampler);
85 void glBindSampler (uint unit, uint sampler);
86 void glSamplerParameteri (uint sampler, enum pname, int param);
87 void glSamplerParameteriv (uint sampler, enum pname, const int* param);
88 void glSamplerParameterf (uint sampler, enum pname, GLfloat param);
89 void glSamplerParameterfv (uint sampler, enum pname, const GLfloat* param);
90 void glGetSamplerParameteriv (uint sampler, enum pname, int* params);
91 void glGetSamplerParameterfv (uint sampler, enum pname, GLfloat* params);
92 void glVertexAttribDivisor (uint index, uint divisor);
93 void glBindTransformFeedback (enum target, uint id);
94 void glDeleteTransformFeedbacks (GLsizei n, const uint* ids);
95 void glGenTransformFeedbacks (GLsizei n, uint* ids);
96 bool GL_APIENTRY glIsTransformFeedback (uint id);
97 void glPauseTransformFeedback (void);
98 void glResumeTransformFeedback (void);
99 void glGetProgramBinary (uint program, GLsizei bufSize, GLsizei* length, enum* binaryFormat, GLvoid* binary);
100 void glProgramBinary (uint program, enum binaryFormat, const GLvoid* binary, GLsizei length);
101 void glProgramParameteri (uint program, enum pname, int value);
102 void glInvalidateFramebuffer (enum target, GLsizei numAttachments, const enum* attachments);
103 void glInvalidateSubFramebuffer (enum target, GLsizei numAttachments, const enum* attachments, int x, int y, GLsizei width, GLsizei height);
104 void glTexStorage2D (enum target, GLsizei levels, enum internalformat, GLsizei width, GLsizei height);
105 void glTexStorage3D (enum target, GLsizei levels, enum internalformat, GLsizei width, GLsizei height, GLsizei depth);
106 void glGetInternalformativ (enum target, enum internalformat, enum pname, GLsizei bufSize, int* params);

posted on 2012-08-12 10:39 的笔记 阅读(2065) 评论(1)  编辑 收藏 引用

评论

# re: OpenGL ES 3.0,代号哈爾蒂亞[未登录] 2013-04-26 09:32 albert

纯粹路过,看着一个个新版本飘过,也不知道怎么开始  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理