当前位置:懂科普 >

IT科技

> java opengl

java opengl

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java opengl是什么,让我们一起了解一下?

opengl是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。

opengl有什么作用?

1、OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台和Mac OS。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。开放源代码库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“非常相似”的API。

2、OpenGL规范描述了绘制2D和3D图形的抽象API。尽管这些API可以完全通过软件实现,但它是为大部分或者全部使用硬件加速而设计的。

java opengl

3、OpenGL的API定义了若干可被客户端程序调用的函数,以及一些具名整型常量(例如,常量GL_TEXTURE_2D对应的十进制整数为3553)。虽然这些函数的定义表面上类似于C编程语言,但它们是语言独立的。因此,OpenGL有许多语言绑定,值得一提的包括:JavaScript绑定的WebGL(基于OpenGL ES 2.0在Web浏览器中的进行3D渲染的API);C绑定的WGL、GLX和CGL;iOS提供的C绑定;Android提供的Java和C绑定。

4、OpenGL不仅语言无关,而且平台无关。规范只字未提获得和管理OpenGL上下文相关的内容,而是将这些作为细节交给底层的窗口系统。出于同样的原因,OpenGL纯粹专注于渲染,而不提供输入、音频以及窗口相关的API。

实战案例,具体代码如下:

package net.obviam.opengl;import android.app.Activity;import android.opengl.GLSurfaceView;import android.os.Bundle;import android.view.Window;import android.view.WindowManager;public class Run extends Activity {undefined/** The OpenGL view */private GLSurfaceView glSurfaceView;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {undefinedsuper.onCreate(savedInstanceState);// requesting to turn the title OFFrequestWindowFeature(Window.FEATURE_NO_TITLE);// making it full screengetWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);// Initiate the Open GL view and// create an instance with this activityglSurfaceView = new GLSurfaceView(this);// set our renderer to be the main renderer with// the current activity contextglSurfaceView.setRenderer(new GlRenderer());setContentView(glSurfaceView);}/** Remember to resume the glSurface */@Overrideprotected void onResume() {undefinedsuper.onResume();glSurfaceView.onResume();}/** Also pause the glSurface */@Overrideprotected void onPause() {undefinedsuper.onPause();glSurfaceView.onPause();}}

标签: opengl java
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/p9q398.html