资源简介

这个Demo来源于Richard S. Wright Jr做的shadow bible。是一个飞机投影到地面。在我的修改下,变成一个四面体的投影,可以调节地面的高度,变成中文的注释,简化了内容,便于OpenGL初学者理解。此资源涵盖了OpenGL2.0的SDK还有辅助类,代码编译环境Cfree。

资源截图

代码片段和文件信息

/***************************************************************************
*
* GLee.c
* GLee (OpenGL Easy Extension library)        
* Version : 5.21
*
* Copyright (c)2006  Ben Woodhouse  All rights reserved.
*
* Redistribution and use in source and binary forms with or without
* modification are permitted provided that the following conditions are 
* met:
* 1. Redistributions of source code must retain the above copyright
* notice this list of conditions and the following disclaimer as
* the first lines of this file unmodified.
* 2. Redistributions in binary form must reproduce the above copyright
* notice this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY BEN WOODHOUSE ‘‘AS IS‘‘ AND ANY EXPRESS OR
* IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL BEN WOODHOUSE BE LIABLE FOR ANY DIRECT INDIRECT
* INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING BUT
* NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE
* DATA OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

* Web: http://elf-stone.com/glee.php
*
* [This file was automatically generated by GLeeGen 5.21
*
***************************************************************************/

#ifdef _MSC_VER
#pragma optimize( “g“ off )
#endif

#include 
#include 
#include 
#include “GLee.h“

#if defined(__APPLE__) || defined(__APPLE_CC__)
#include 
#endif

typedef GLuint(*GLEE_link_FUNCTION)(void);

GLboolean __GLeeInited=GL_FALSE;

#ifndef _WIN32
#define __stdcall  /* nothing */
#endif 

void * __GLeeGetProcAddress(const char *extname)
{
#ifdef WIN32
return (void*)wglGetProcAddress(extname);
#elif defined(__APPLE__) || defined(__APPLE_CC__)
    CFBundleRef bundle;
    CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault CFSTR(“/System/Library/frameworks/OpenGL.framework“) kCFURLPOSIXPathstyle true);

    CFStringRef functionName = CFStringCreateWithCString(kCFAllocatorDefault extname kCFStringEncodingASCII);

    void *function;

    bundle = CFBundleCreate(kCFAllocatorDefault bundleURL);
    assert(bundle != NULL);

    function = CFBundleGetFunctionPointerForName(bundle functionName);

    CFRelease(bundleURL);
    CFRelease(functionName);
    CFRelease(bundle);

    return function;
#else
return (void*)glXGetProcAddressARB((const GLubyte *)extname);
#endif
}




/* Extension querying variables */

GLboolean _GLEE_VERSION_1_2 = GL_FALSE;
GL

评论

共有 条评论