java opengl

作者:原创时间:2022-04-15
文档

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

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

opengl有什么作用?

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

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

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. */
@Override
public void onCreate(Bundle savedInstanceState) {undefined
super.onCreate(savedInstanceState);
// requesting to turn the title OFF
requestWindowFeature(Window.FEATURE_NO_TITLE);
// making it full screen
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
// Initiate the Open GL view and
// create an instance with this activity
glSurfaceView = new GLSurfaceView(this);
// set our renderer to be the main renderer with
// the current activity context
glSurfaceView.setRenderer(new GlRenderer());
setContentView(glSurfaceView);
}
/** Remember to resume the glSurface */
@Override
protected void onResume() {undefined
super.onResume();
glSurfaceView.onResume();
}
/** Also pause the glSurface */
@Override
protected void onPause() {undefined
super.onPause();
glSurfaceView.onPause();
}
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java openjdk java rectangle java redirect java reference java reflect java regex java openssl java orm java outer java outofmemory java overload java resources java resolve java require java region java render java override java pandas java parse java repeat java openfire java onvif java inputstreamreader java influxdb java implements java image java htmlunit java hibernate java number java nslookup java notify java node类 java hdfs java hashcode java getbytes java geotools java nfs java nexus java nextline java nextint