获取 OpenGL 常用信息

void Context::getGLExtension()

{

const char* sVersion = (const char*)glGetString(GL_VERSION);

this->_version = std::string(sVersion);

const char* sShadingLanguageVersion =  (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION);

this->_shadingLanguageVersion = std::string(sShadingLanguageVersion);

const char* sVendor =  (const char*)glGetString(GL_VENDOR);

this->_vendor = std::string(sVendor);

const char* sRenderer =  (const char*)glGetString(GL_RENDERER);

this->_renderer = std::string(sRenderer);

glGetIntegerv(GL_RED_BITS, &this->_redBits);

glGetIntegerv(GL_GREEN_BITS, &this->_greenBits);

glGetIntegerv(GL_BLUE_BITS, &this->_blueBits);

glGetIntegerv(GL_ALPHA_BITS, &this->_alphaBits);

glGetIntegerv(GL_DEPTH_BITS, &this->_depthBits);

glGetIntegerv(GL_STENCIL_BITS, &this->_stencilBits);

glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &this->_maximumCombinedTextureImageUnits); // min: 8

glGetIntegerv(GL_MAX_CUBE_MAP_TEXTURE_SIZE, &this->_maximumCubeMapSize); // min: 16

glGetIntegerv(GL_MAX_FRAGMENT_UNIFORM_VECTORS, &this->_maximumFragmentUniformVectors); // min: 16

glGetIntegerv(GL_MAX_TEXTURE_IMAGE_UNITS, &this->_maximumTextureImageUnits); // min: 8

glGetIntegerv(GL_MAX_RENDERBUFFER_SIZE, &this->_maximumRenderbufferSize); // min: 1

glGetIntegerv(GL_MAX_TEXTURE_SIZE, &this->_maximumTextureSize); // min: 64

glGetIntegerv(GL_MAX_VARYING_VECTORS, &this->_maximumVaryingVectors); // min: 8

glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &this->_maximumVertexAttributes); // min: 8

glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS, &this->_maximumVertexTextureImageUnits); // min: 0

glGetIntegerv(GL_MAX_VERTEX_UNIFORM_VECTORS, &this->_maximumVertexUniformVectors); // min: 128

glGetIntegerv(GL_ALIASED_LINE_WIDTH_RANGE, &this->_aliasedLineWidthRange); // must include 1

glGetIntegerv(GL_ALIASED_POINT_SIZE_RANGE, &this->_aliasedPointSizeRange); // must include 1

glGetIntegerv(GL_MAX_VIEWPORT_DIMS, this->_maximumViewportDimensions);

// Query and initialize extensions

this->_standardDerivatives = GL_OES_standard_derivatives;

this->_elementIndexUint = GL_OES_element_index_uint;

this->_depthTexture = GL_OES_depth_texture;

this->_textureFloat = GL_OES_texture_float;

this->_textureFilterAnisotropic = GL_EXT_texture_filter_anisotropic;

this->_maximumTextureFilterAnisotropy =  1.0;

this->_vertexArrayObject = GL_OES_vertex_array_object;

//this->_fragDepth = getExtension(gl, [‘EXT_frag_depth‘]);

//this._drawBuffers = getExtension(gl, [‘WEBGL_draw_buffers‘]);

//this->_maximumDrawBuffers = defined(this._drawBuffers) ? gl.getParameter(this._drawBuffers.MAX_DRAW_BUFFERS_WEBGL) : 1;

//this->_maximumColorAttachments = defined(this._drawBuffers) ? gl.getParameter(this._drawBuffers.MAX_COLOR_ATTACHMENTS_WEBGL) : 1; // min when supported: 4

GLfloat cc[4] = { 0.0, 0.0, 0.0, 0.0 };

glGetFloatv( GL_COLOR_CLEAR_VALUE, cc );

this->_clearColor = new Color(cc[0], cc[1], cc[2], cc[3]);

glGetIntegerv(GL_DEPTH_CLEAR_VALUE, &this->_clearDepth);

glGetIntegerv(GL_STENCIL_CLEAR_VALUE, &this->_clearStencil);

}

时间: 2024-10-07 04:31:23

获取 OpenGL 常用信息的相关文章

Python网络编程小例子:使用python获取网站域名信息

Whois简介 whois(读作"Who is",非缩写)是用来查询域名的IP以及所有者等信息的传输协议.简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商).通过whois来实现对域名信息的查询.早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询.网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用.whois通常

用javascript获取url网址信息

用javascript获取url网址信息 <script type="text/javascript">document.write("location.host="+location.host+"<br>");document.write("location.hostname="+location.hostname+"<br>");document.write(&quo

获取HttpServletRequest请求信息,HTTP协议信息

获取HttpServletRequest请求信息,HTTP协议信息 经常用到,简单记录下- /** * HttpServletRequest请求参数获取测试 * @author Niu on 2017年7月17日 下午2:45:01 */ @WebServlet("/dispense") public class DispenseServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest

java获取当前操作系统的信息

java获取当前操作系统的信息 JavaOS虚拟机UnixEXT 从网上收集的一些关于java获取操作系统信息的方法,现在总结一下: 1获取本机的IP地址: Java代码   private static String getIpAddress() throws UnknownHostException { InetAddress address = InetAddress.getLocalHost(); return address.getHostAddress(); } 2获得网卡地址 Ja

查询Master下的系统表和系统视图获取数据库的信息和简单的渗透测试

在SQL中可以通过查询Master下的系统表(sys)和系统视图(information_schema)获取数据库的信息.SQL2000和SQL2005的结构略有不同. 系统表结构参考系统表详细说明. 系统信息结构图参考:http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html 1.2000下操作: 系统表目录:大部分以dbo.sys为前缀. 系统视图目录:有20个常用的视图,以INFORMATION_SCHEMA为前缀. 在2

Android获取全部联系人信息的例子

先定义一个显示条目的xml布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_conte

Atitit.获取主板与bios序列号获取硬件设备信息&#160;&#160;Wmi&#160;wmic&#160;的作用

Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用 1 获取硬件核心基础核心基础Wmi1 2 其他资料2 3 Wmic WMI 命令行接口2 4 Atitit.获取主板与bios序列号2 5 参考3 1 获取硬件核心基础核心基础Wmi WMI,是Windows 2K/XP管理系统的核心:对于其他的Win32操作系统,WMI是一个有用的插件.WMI以CIMOM为基础,CIMOM即公共信息模型对象管理器(Common Information Model Object 

Android如何获取SIM卡信息

android 获取sim卡运营商信息 TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager 的使用 TelephonyManager 提供设备上获取通讯服务信息的入口,应用程序使用这个类的方法来获取电话的服务商或者状态.程序也可以注册一个监听器来监听电话状态的改变. 不需要直接实例化这个类,使用Context.getSystemS

Linux命令(34):ss命令-获取socket统计信息

ss 可以用来获取socket统计信息,它可以显示和netstat类似的内容. 例如: (1)显示TCP连接 #ss -t -a (2)列出所有打开的网络连接端口 #ss -l (3)查看进程使用的socket #ss -pl