コード例 #1
0
ファイル: xgl.c プロジェクト: CrouchingLlama/openlase-mame
int xgl_init(void)
{
  const char *libGLName = "libGL.so";
  const char *libGLUName = "libGLU.so";
  
  if (!loadGLLibrary(libGLName, libGLUName))
  {
    fprintf(stderr, "Use of OpenGL mode disabled\n");
    return 0;
  }

  fetch_GL_FUNCS(libGLName, libGLUName, 0);

  return SYSDEP_DISPLAY_WINDOWED|SYSDEP_DISPLAY_FULLSCREEN|
    SYSDEP_DISPLAY_HWSCALE;
}
コード例 #2
0
ファイル: wgltool.c プロジェクト: CarnyPriest/SAMbuild
/**
 * do not call this one directly,
 * use fetch_GL_FUNCS (gltool.c) instead
 */
void LIBAPIENTRY fetch_WGL_FUNCS (const char * libGLName, 
			          const char * libGLUName, int force)
{
  static int _firstRun = 1;

  if(force)
        _firstRun = 1;

  if(!_firstRun)
  	return;

  if(!loadGLLibrary (libGLName, libGLUName))
  	return;

  #define GET_GL_PROCADDRESS(a) getGLProcAddressHelper (libGLName, libGLUName, (a), NULL, 1, 0);


  #include "wgl-disp-fetch.hc"

  _firstRun=0;
}
コード例 #3
0
ファイル: OGLHelper.cpp プロジェクト: JohnChu/libavg
    void init() {
        static bool s_bInitialized = false;
        if (s_bInitialized) {
            return;
        }
        s_bInitialized = true;
        loadGLLibrary();
        
        GenBuffers = (PFNGLGENBUFFERSPROC)getFuzzyProcAddress("glGenBuffers");
        BufferData = (PFNGLBUFFERDATAPROC)getFuzzyProcAddress("glBufferData");
        DeleteBuffers = (PFNGLDELETEBUFFERSPROC)getFuzzyProcAddress("glDeleteBuffers");
        BindBuffer = (PFNGLBINDBUFFERPROC)getFuzzyProcAddress("glBindBuffer");
        MapBuffer = (PFNGLMAPBUFFERPROC)getFuzzyProcAddress("glMapBuffer");
        UnmapBuffer = (PFNGLUNMAPBUFFERPROC)getFuzzyProcAddress("glUnmapBuffer");

        CreateShader = (PFNGLCREATESHADERPROC)getFuzzyProcAddress("glCreateShader");
        ShaderSource = (PFNGLSHADERSOURCEPROC)getFuzzyProcAddress("glShaderSource");
        CompileShader = (PFNGLCOMPILESHADERPROC)getFuzzyProcAddress("glCompileShader");
        CreateProgram= (PFNGLCREATEPROGRAMPROC)getFuzzyProcAddress("glCreateProgram");
        AttachShader = (PFNGLATTACHSHADERPROC)getFuzzyProcAddress("glAttachShader");
        LinkProgram = (PFNGLLINKPROGRAMPROC)getFuzzyProcAddress("glLinkProgram");
        GetShaderiv = (PFNGLGETSHADERIVPROC)getFuzzyProcAddress("glGetShaderiv");
        GetProgramiv = (PFNGLGETPROGRAMIVPROC)getFuzzyProcAddress("glGetProgramiv");
        GetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC)
                getFuzzyProcAddress("glGetShaderInfoLog");
        GetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC)
                getFuzzyProcAddress("glGetProgramInfoLog");
        UseProgram =(PFNGLUSEPROGRAMPROC) getFuzzyProcAddress("glUseProgram");
        GetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC)
                getFuzzyProcAddress("glGetUniformLocation");
        Uniform1i = (PFNGLUNIFORM1IPROC)getFuzzyProcAddress("glUniform1i");
        Uniform1f = (PFNGLUNIFORM1FPROC)getFuzzyProcAddress("glUniform1f");
        Uniform2f = (PFNGLUNIFORM2FPROC)getFuzzyProcAddress("glUniform2f");
        Uniform3f = (PFNGLUNIFORM3FPROC)getFuzzyProcAddress("glUniform3f");
        Uniform4f = (PFNGLUNIFORM4FPROC)getFuzzyProcAddress("glUniform4f");
        Uniform1fv = (PFNGLUNIFORM1FVPROC)getFuzzyProcAddress("glUniform1fv");
        UniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC)
                getFuzzyProcAddress("glUniformMatrix4fv");
        
        BlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC)
                getFuzzyProcAddress("glBlendFuncSeparate");
        BlendEquation = (PFNGLBLENDEQUATIONPROC)getFuzzyProcAddress("glBlendEquation");
        BlendColor = (PFNGLBLENDCOLORPROC)getFuzzyProcAddress("glBlendColor");
        ActiveTexture = (PFNGLACTIVETEXTUREPROC)getFuzzyProcAddress("glActiveTexture");
        GenerateMipmap = (PFNGLGENERATEMIPMAPPROC)getFuzzyProcAddress
                ("glGenerateMipmap");
        
        CheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC)
                getFuzzyProcAddress("glCheckFramebufferStatus");
        GenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC)
                getFuzzyProcAddress("glGenFramebuffers");
        BindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC)
                getFuzzyProcAddress("glBindFramebuffer");
        FramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)
                getFuzzyProcAddress("glFramebufferTexture2D");
        DeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)
                getFuzzyProcAddress("glDeleteFramebuffers");
        GenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC)
                getFuzzyProcAddress("glGenRenderbuffers");
        BindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC)
                getFuzzyProcAddress("glBindRenderbuffer");
        RenderbufferStorage= (PFNGLRENDERBUFFERSTORAGEPROC)
                getFuzzyProcAddress("glRenderbufferStorage");
        RenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)
                getFuzzyProcAddress("glRenderbufferStorageMultisample");
        FramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)
                getFuzzyProcAddress("glFramebufferRenderbuffer");

        DeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)
                getFuzzyProcAddress("glDeleteRenderbuffers");
#ifndef AVG_ENABLE_EGL
        BufferSubData = (PFNGLBUFFERSUBDATAPROC)getFuzzyProcAddress("glBufferSubData");
        GetBufferSubData = (PFNGLGETBUFFERSUBDATAPROC)getFuzzyProcAddress
            ("glGetBufferSubData");
        GetObjectParameteriv = (PFNGLGETOBJECTPARAMETERIVARBPROC)
            getFuzzyProcAddress("glGetObjectParameteriv");

        BlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)
                getFuzzyProcAddress("glBlitFramebuffer");
        DrawBuffers = (PFNGLDRAWBUFFERSPROC)getFuzzyProcAddress("glDrawBuffers");
        DrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)
                getFuzzyProcAddress("glDrawRangeElements");
        DebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKARBPROC)
                getFuzzyProcAddress("glDebugMessageCallback");
#endif
        VertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC)
                getFuzzyProcAddress("glVertexAttribPointer");
        EnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC)
                getFuzzyProcAddress("glEnableVertexAttribArray");
        BindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC)
                getFuzzyProcAddress("glBindAttribLocation");
#if defined(linux) && !defined(AVG_ENABLE_EGL)
        SwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)
                getglXProcAddress("glXSwapIntervalEXT");
#endif
#ifdef _WIN32
        GetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)
                getwglProcAddress("wglGetExtensionsStringARB");
        GetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)
                getwglProcAddress("wglGetSwapIntervalEXT");
        SwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)
                getwglProcAddress("wglSwapIntervalEXT");
#endif
    }