Tegra 3设备上的OpenGL扩展

时间:2012-01-10 14:01:15

标签: android opengl-es embedded tegra

我想知道新的Tegra 3设备上有哪些新的OpenGL ES扩展?任何人都想发布他们的设备名称,OpenGL版本和扩展名列表(仅限Tegra 3设备)?我认为其他开发者也可以使用它。

在Android上,你可以这样做:

String oglVersion = GLES20.glGetString(GLES20.GL_VERSION);
String deviceName = GLES20.glGetString(GLES20.GL_RENDERER);
String extensions = GLES20.glGetString(GLES20.GL_EXTENSIONS);

此外,GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS的值是否真的有机会非零?

2 个答案:

答案 0 :(得分:4)

华硕Eee PAD Transformer Prime TF201

扩展:

GL_NV_platform_binary
GL_OES_rgb8_rgba8
GL_OES_EGL_sync
GL_OES_fbo_render_mipmap
GL_NV_depth_nonlinear
GL_NV_draw_path
GL_NV_texture_npot_2D_mipmap
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_vertex_half_float
GL_OES_mapbuffer
GL_NV_draw_buffers
GL_NV_multiview_draw_buffers
GL_EXT_Cg_shader
GL_EXT_packed_float
GL_OES_texture_half_float
GL_OES_texture_float
GL_EXT_texture_array
GL_OES_compressed_ETC1_RGB8_texture
GL_EXT_texture_compression_latc
GL_NV_texture_compression_latc
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc
GL_NV_texture_compression_s3tc
GL_EXT_texture_filter_anisotropic
GL_NV_get_tex_image
GL_NV_read_buffer
GL_NV_shader_framebuffer_fetch
GL_NV_fbo_color_attachments
GL_EXT_bgra
GL_EXT_texture_format_BGRA8888
GL_EXT_unpack_subimage
GL_NV_pack_subimage
GL_NV_texture_compression_s3tc_update
GL_NV_read_depth
GL_NV_read_stencil
GL_EXT_robustness
GL_OES_standard_derivatives
GL_NV_EGL_stream_consumer_external
GL_NV_coverage_sample
GL_EXT_occlusion_query_boolean
GL_NV_timer_query

GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS为0,正如所料:'(

有趣的是,与Glbenchmark报告的扩展相比,这些都缺失了:

GL_NV_robustness

(不是那么有趣,它被EXT版本取代),但有一些新的扩展:

GL_NV_texture_compression_latc
GL_NV_texture_compression_s3tc
GL_NV_pack_subimage
GL_EXT_robustness
GL_OES_standard_derivatives
GL_NV_EGL_stream_consumer_external
GL_EXT_occlusion_query_boolean
GL_NV_timer_query

刚刚从同事的办公桌上抓起设备并快速阅读扩展字符串,没有机会获得OpenGL版本(应该是“OpenGL ES 2.0”)和渲染器(应该是“NVIDIA Tegra 3”)。

答案 1 :(得分:2)

Glbenchmark有一个扩展名列表。

Tegra 2 dev guide提到tegra2上的顶点纹理单元的最大数量为0. Tegra3是AFAIK而不是GPU的大规模重新设计,它只是用4个额外的CUDA核心进行片段处理,所以我会说tegra3上纹理单位的数量是相同的。