OpenGL环境配置全文件,与博客教程:OpenGL红宝书第九版环境配置(VS2017)相配套
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-02 22:05 OGLPG-9th-Edition
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Edition
文件 16 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Edition.gitignore
文件 2941 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-EditionCMakeLists.txt
文件 2076 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-EditionREADME.md
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editionin
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmedia
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaders
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewrite
文件 346 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritelit.fs.glsl
文件 86 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritelit.vs.glsl
文件 742 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritedouble_write.fs.glsl
文件 956 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritedouble_write.vs.glsl
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersgouraud
文件 91 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersgouraudgouraud.frag
文件 185 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersgouraudgouraud.vert
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderskeypress
文件 95 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderskeypresskeypress.frag
文件 108 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderskeypresskeypress.vert
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoit
文件 1335 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoituild_lists.fs.glsl
文件 951 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoituild_lists.vs.glsl
文件 2053 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoit
esolve_lists.fs.glsl
文件 86 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoit
esolve_lists.vs.glsl
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcount
文件 344 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountlit.fs.glsl
文件 86 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountlit.vs.glsl
文件 531 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountoverdraw_count.fs.glsl
文件 956 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountoverdraw_count.vs.glsl
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderspointsprites
文件 169 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderspointspritespointsprites.fs.glsl
............此处省略1162个文件信息
#include
#ifdef _WIN32
#define WIN32_LEAN_AND_MEAN 1
#include
static HMODULE libgl;
static void open_libgl(void)
{
libgl = LoadLibraryA(“opengl32.dll“);
}
static void close_libgl(void)
{
FreeLibrary(libgl);
}
static GL3WglProc get_proc(const char *proc)
{
GL3WglProc res;
res = (GL3WglProc) wglGetProcAddress(proc);
if (!res)
res = (GL3WglProc) GetProcAddress(libgl proc);
return res;
}
#elif defined(__APPLE__) || defined(__APPLE_CC__)
#include
CFBundleRef bundle;
CFURLRef bundleURL;
static void open_libgl(void)
{
bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault
CFSTR(“/System/Library/frameworks/OpenGL.framework“)
kCFURLPOSIXPathstyle true);
bundle = CFBundleCreate(kCFAllocatorDefault bundleURL);
assert(bundle != NULL);
}
static void close_libgl(void)
{
CFRelease(bundle);
CFRelease(bundleURL);
}
static GL3WglProc get_proc(const char *proc)
{
GL3WglProc res;
CFStringRef procname = CFStringCreateWithCString(kCFAllocatorDefault proc
kCFStringEncodingASCII);
res = (GL3WglProc) CFBundleGetFunctionPointerForName(bundle procname);
CFRelease(procname);
return res;
}
#else
#include
#include
static void *libgl;
static void open_libgl(void)
{
libgl = dlopen(“libGL.so.1“ RTLD_LAZY | RTLD_GLOBAL);
}
static void close_libgl(void)
{
dlclose(libgl);
}
static GL3WglProc get_proc(const char *proc)
{
GL3WglProc res;
res = (GL3WglProc) glXGetProcAddress((const GLubyte *) proc);
if (!res)
res = (GL3WglProc) dlsym(libgl proc);
return res;
}
#endif
static struct {
int major minor;
} version;
static int parse_version(void)
{
if (!glGetIntegerv)
return -1;
glGetIntegerv(GL_MAJOR_VERSION &version.major);
glGetIntegerv(GL_MINOR_VERSION &version.minor);
if (version.major < 3)
return -1;
return 0;
}
static void load_procs(void);
int gl3wInit(void)
{
open_libgl();
load_procs();
close_libgl();
return parse_version();
}
int gl3wIsSupported(int major int minor)
{
if (major < 3)
return 0;
if (version.major == major)
return version.minor >= minor;
return version.major >= major;
}
GL3WglProc gl3wGetProcAddress(const char *proc)
{
return get_proc(proc);
}
PFNGLCULLFACEPROC gl3wCullFace;
PFNGLFRONTFACEPROC gl3wFrontFace;
PFNGLHINTPROC gl3wHint;
PFNGLLINEWIDTHPROC gl3wLineWidth;
PFNGLPOINTSIZEPROC gl3wPointSize;
PFNGLPOLYGONMODEPROC gl3wPolygonMode;
PFNGLSCISSORPROC gl3wScissor;
PFNGLTEXPARAMETERFPROC gl3wTexParameterf;
PFNGLTEXPARAMETERFVPROC gl3wTexParameterfv;
PFNGLTEXPARAMETERIPROC gl3wTexParameteri;
PFNGLTEXPARAMETERIVPROC gl3wTexParameteriv;
PFNGLTEXIMAGE1DPROC gl3wTexImage1D;
PFNGLTEXIMAGE2DPROC gl3wTexImage2D;
PFNGLDRAWBUFFERPROC gl3wDrawBuffer;
PFNGLCLEARPROC gl3wClear;
PFNGLCLEARCOLORPROC gl3wClearColor;
PFNGLCLEARSTENCILPROC gl3wClearStencil;
PFNGLCLEARDEPTHPROC gl3wClearDepth;
PFNGLSTENCILMASKPROC gl3wStencilMask;
PFNGLCOLORMASKPROC gl3wColorMask;
PFNGLDEPTHMASKPROC gl3wDepthMask;
PFNGLDISABLEPROC gl3wDisabl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-02 22:05 OGLPG-9th-Edition
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Edition
文件 16 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Edition.gitignore
文件 2941 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-EditionCMakeLists.txt
文件 2076 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-EditionREADME.md
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editionin
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmedia
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaders
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewrite
文件 346 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritelit.fs.glsl
文件 86 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritelit.vs.glsl
文件 742 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritedouble_write.fs.glsl
文件 956 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersdoublewritedouble_write.vs.glsl
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersgouraud
文件 91 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersgouraudgouraud.frag
文件 185 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersgouraudgouraud.vert
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderskeypress
文件 95 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderskeypresskeypress.frag
文件 108 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderskeypresskeypress.vert
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoit
文件 1335 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoituild_lists.fs.glsl
文件 951 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoituild_lists.vs.glsl
文件 2053 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoit
esolve_lists.fs.glsl
文件 86 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoit
esolve_lists.vs.glsl
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcount
文件 344 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountlit.fs.glsl
文件 86 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountlit.vs.glsl
文件 531 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountoverdraw_count.fs.glsl
文件 956 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashadersoverdrawcountoverdraw_count.vs.glsl
目录 0 2018-12-02 22:05 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderspointsprites
文件 169 2016-09-09 01:19 OGLPG-9th-EditionOGLPG-9th-Editioninmediashaderspointspritespointsprites.fs.glsl
............此处省略1162个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)