
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();
}
}以上就是小編今天的分享了,希望可以幫助到大家。
