OpenGL + C++ + Java
OpenGL + C++ + Java
Õâ¸ö×éºÏÓÐÒ»µãÆæ¹Ö£¬ÒòΪҪʵÏÖÔÚ
opengl
Öв¥·ÅÊÓÆµ£¬ËùÒÔ²»µÃ²»ÓÐÕâÑùÆæ¹ÖµÄ×éºÏ¡£ÉϲãµÄ
MediaPlayer
·â×°µÄ»ù±¾ÉÏÊÇÕë¶Ô
android UI
µÄ¿ò¼Ü£¬Èç¹ûÏëÔÚ
opengl
ÖÐÏÔʾ£¬¹À¼ÆÄѶȺܴó¡£ÁíÍ⣬ºÜ¶à¿ªÔ´µÄ
opengl
µÄÓÎÏ·»ù±¾É϶¼ÊÇ
C++
±àд£¬ËùÒÔÕâ¸öÌåϵµÄ×÷Óû¹ÊǺܴóµÄ£¬Ö®ËùÒÔÐèÒª
java
£¬ÒòΪÉϲãµÄºÜ¶àÀýÈç´¥Ãþ¡¢ÖØÁ¦¸ÐÓ¦£¬ÕâÑùµÄ¶«Î÷£¬
android
ÊÇÒÔ
java
ʵÏֵ쬵ײãµÄ¸ù±¾¿´²»µ½£¬ÕâÑùµÄ×éºÏÆðÀ´£¬³ä·ÖµÄÀûÓÃÿһ¸ö²ã´ÎµÄÓŵ㣬×î´óЧÂÊÌá¸ßÓû§ÌåÑé¡£
ÎÒÃÇÊ×ÏÈ»á¼òµ¥µÄ²âÊÔÒ»ÏÂ
opengl
Á¢·½ÌåÀý×Ó£¬È»ºóÎÒÃÇʵÏÖÔÚ
native
²ãÉÏÃæµÄ»æÖÆ£¬ÈçºÎʹÓÃ
jni
À´´«µÝ¡£×îºóÎÒÃǼòµ¥µÄ˵һÏÂʹÓÃ×Ô´øµÄ
android
·â×°µÄ
opengl
½Ó¿Ú
api
ÓÐʲôÑùµÄÏÞÖÆ¡£
Google
ÌṩµÄ
api
ÊÇ
java
µÄ
api
£¬¶ÔÓÚ
java
¿ª·¢ÕßÀ´Ëµ£¬ÕâÊǺÃÏûÏ¢£¬¶ÔÓÚ
C++
¿ª·¢ÕßÀ´Ëµ£¬¾Í»áÓкܴóµÄÂé·³¡£ÏÖÔÚÖ÷Á÷µÄÓÎÏ·ÒýÇæ¡¢ÓÎÏ·Ëã·¨»ù±¾É϶¼ÊÇ
C/C++
ʵÏÖ¡£
ÎÒÃÇ´¿´âÀûÓÃ
C/C++
À´Ð´
OpenGL
µÄÓ¦ÓóÌÐòµÄʱºò£¬»ù±¾Á÷³ÌÈçÏ£¬³õʼ»¯
EGL
£¬Ñ¡ÔñÅäÖã¬È»ºóÑ¡Ôñ
Display
£¬È»ºó´´½¨
Surface
£¬Ö®ºó¾ÍÊÇ
DrawFram
ºÍ
Swap
ÁË¡£
Google
ºÜ´ÏÃ÷µÄ¸øÕâ¸öÁ÷³Ì½øÐÐÁËÒ»´Î·â×°£¬·â×°³ÉÕâÑùµÄ¼¸¸öÀ࣬´óÖµĴúÂëÈçÏ£º
Ê×ÏÈÊÇ
EGL
µÄÏà¹Ø²Ù×÷£º
public
class
EglHelper {
public
EglHelper() {
}
/**
*
Initialize
EGL
for
a
given
configuration
spec.
*
@param
configSpec
*/
public
void
start(
int
[] configSpec){
/*
* Get an EGL instance
*/
&
Ïà¹ØÎĵµ£º
ͨÐÅ
Server£º
#pragma comment(lib, "ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
//°æ±¾ÐÉÌ
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1); //0x0101
err = WSAStartup ......
1.·Ö²ãÉè¼Æ£¬¸ôÀëÆ½Ì¨Ïà¹ØµÄ´úÂë¡£¾ÍÏñ¿É²âÊÔÐÔÒ»Ñù£¬¿ÉÒÆÖ²ÐÔÒ²Òª´ÓÉè¼Æ×¥Æð¡£Ò»°ãÀ´Ëµ£¬×îÉϲãºÍ×îϲ㶼²»¾ßÓÐÁ¼ºÃµÄ¿ÉÒÆÖ²ÐÔ¡£×îÉϲãÊÇ
GUI£¬´ó¶àÊýGUI¶¼²»ÊÇ¿çÆ½Ì¨µÄ£¬ÈçWin32 SDKºÍMFC¡£×îϲãÊDzÙ×÷ϵͳAPI£¬´ó¶à²¿·Ö²Ù×÷ϵͳAPI¶¼ÊÇרÓõġ£
¡¡¡¡
Èç¹ûÕâÁ½²ãµÄ´úÂëÉ¢²¼ÔÚÕû¸öÈí¼ ......
CÖÐÈçºÎµ÷ÓÃC++£¿C++ÖÐÈçºÎµ÷ÓÃC?Õâ¸öÎÊÌâÊÇÐí¶àÈí¼þ¹«Ë¾ÃæÊÔ¹ý³ÌÖлáÎʵ½µÄÒ»¸ö³£¼ûÎÊÌâ¡£»Ø´ðÕâ¸öÎÊÌâ²¢²»À§ÄÑ£¬ÄǾÍÊÇʹÓÃ
extern "C",µ«ÊÇÃæÊÔ¹Ù¿ÉÄÜÏëͨ¹ýÕâ¸öÎÊÌâÁ˽âÄã¶ÔC/C++ÕÆÎյij̶ȡ£ÏÂÃæ×Ðϸ·ÖÎö¸ÃÎÊÌâ¡£
Ê×ÏÈ£¬×÷
ΪexternÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿ ......
freadº¯ÊýºÍfwriteº¯Êý
1.º¯Êý¹¦ÄÜ
ÓÃÀ´¶Áдһ¸öÊý¾Ý¿é¡£
2.Ò»°ãµ÷ÓÃÐÎʽ
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
3.˵Ã÷
£¨1£©buffer£ºÊÇÒ»¸öÖ¸Õ룬¶ÔfreadÀ´Ëµ£¬ËüÊǶÁÈëÊý¾ÝµÄ´æ·ÅµØÖ·¡£¶ÔfwriteÀ´Ëµ£¬ÊÇÒªÊä³öÊý¾ÝµÄµØÖ·¡£
£¨2£©size£ºÒª¶ÁдµÄ×Ö½ÚÊý ......