Code Search for Developers
 
 
  

Globals.h from NeoEngineNG at Krugle


Show Globals.h syntax highlighted

// Demeter Terrain Visualization Library by Clay Fowler
// Copyright (C) 2002 Clay Fowler

// $ID$

/*
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Library General Public License for more details.

You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA  02111-1307, USA.
*/

#ifndef _GLOBALS_DEMETER_H_
#define _GLOBALS_DEMETER_H_

#include <Demeter/config.h>

// safety check...
#if _USE_RAYTRACING_SUPPORT_ != 0 && _USE_RAYTRACING_SUPPORT_ != 1
#error "You have not configured Demeter correctly. See include/demeter/DemeterConfig.h.in"
#endif

/* keep this in sync with configure.ac */
#define DEMETER_VERSION "3.22"

#if defined (_MSC_VER)
#pragma warning (disable : 4251 4786 4800 4018)
#endif

//#define _USE_RAYTRACING_SUPPORT_ 1
//_USE_RAYTRACING_SUPPORT_ = 1 enables the ray tracing methods on the Terrain class, but increases
//memory usage considerably. Demeter's ray tracing is very fast and can be used for mouse picking,
//line-of-sight tests, etc. If you enable this option, then be aware that MUCH more memory will be needed.

#ifdef _WIN32
#ifdef TERRAIN_EXPORTS
#define TERRAIN_API __declspec(dllexport)
#else
//#define TERRAIN_API __declspec(dllimport)
#define TERRAIN_API
#endif
#else
#define TERRAIN_API
#endif

typedef unsigned char Uint8;
typedef signed char Sint8;
typedef unsigned short Uint16;
typedef signed short Sint16;
typedef unsigned int Uint32;
typedef signed int Sint32;

#ifdef _WIN32
#ifdef _MSC_VER
#include <crtdbg.h>
#endif
#endif
#include "assert.h"

#ifdef _WIN32
#include <windows.h>		// Required by gl.h
#endif

#include <string.h>
/*#ifndef __APPLE__
#include <GL/gl.h>
#include <GL/glu.h>
#endif
#ifdef __APPLE__
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <OpenGL/glext.h>
#endif*/

#include <GL/glew.h>

#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <vector>
#include <map>

#if defined(HAVE_SQRT) && !defined(HAVE_SQRTF)
#define sqrtf sqrt
#endif

#ifndef M_PI
#define M_PI 3.141592654f
#endif

#define MAX_VERTICES_PER_FAN 10

#ifndef EPSILON
#define EPSILON 0.00001f
#endif

#ifndef INFINITY
#define INFINITY 999999999.0f
#endif

#define MAX_FILENAME_LENGTH		2048
#define TextureMaskBitsPerPixel 	8
#define LEAF_SIZE 			2

/*#define GL_CLAMP_TO_EDGE_EXT                0x812F
#define GL_MAX_TEXTURE_UNITS_ARB            0x84E2
#define GL_TEXTURE0_ARB                     0x84C0
#define GL_TEXTURE1_ARB                     0x84C1
#define GL_TEXTURE2_ARB                     0x84C2
#define GL_TEXTURE3_ARB                     0x84C3
#define GL_TEXTURE4_ARB                     0x84C4
#define GL_TEXTURE5_ARB                     0x84C5
#define GL_COMBINE_RGB_EXT                  0x8571
#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT     0x81A8
#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT     0x81A9
#define COMPRESSED_RGB_S3TC_DXT1_EXT        0x83F0
#define GL_STATIC_DRAW_ARB		    0x88E4
#define GL_ARRAY_BUFFER_ARB                 0x8892
#define GL_OBJECT_DELETE_STATUS_ARB       0x8B80
#define GL_OBJECT_COMPILE_STATUS_ARB      0x8B81
#define GL_OBJECT_LINK_STATUS_ARB         0x8B82
#define GL_OBJECT_VALIDATE_STATUS_ARB     0x8B83
#define GL_OBJECT_INFO_LOG_LENGTH_ARB     0x8B84
#define GL_OBJECT_ATTACHED_OBJECTS_ARB    0x8B85
#define GL_OBJECT_ACTIVE_UNIFORMS_ARB     0x8B86
#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
#define GL_VERTEX_SHADER_ARB              0x8B31
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
#define GL_MAX_VARYING_FLOATS_ARB         0x8B4B
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB   0x8B89
#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
#define GL_FRAGMENT_SHADER_ARB            0x8B30
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49

typedef ptrdiff_t GLintptr;
typedef ptrdiff_t GLsizeiptr;
typedef int GLhandleARB;
typedef char GLcharARB;
typedef unsigned char GLboolean;

#ifdef _WIN32
	typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum texture, GLfloat s, GLfloat t);
	typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
	typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
	typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
	typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
	typedef void (APIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
	typedef void (APIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
	typedef void (APIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
	typedef void (APIENTRY * PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
	typedef void (APIENTRY * PFNGLATTACHOBJECTARBPROC) (GLhandleARB program,GLhandleARB shader);
	typedef void (APIENTRY * PFNGLCOMPILESHADERARBPROC) (GLhandleARB shader);
	typedef GLhandleARB (APIENTRY * PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
	typedef GLhandleARB (APIENTRY * PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
	typedef void (APIENTRY * PFNGLDELETEOBJECTARBPROC) (GLhandleARB object);
	typedef void (APIENTRY * PFNGLDETACHOBJECTARBPROC) (GLhandleARB container,GLhandleARB attached);
	typedef void (APIENTRY * PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB program,GLuint index,GLsizei maxLength,GLsizei *length,GLint *size,GLenum *type,GLcharARB *name);
	typedef void (APIENTRY * PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB program,GLsizei maxCount,GLsizei* count,GLhandleARB* objects);
	typedef GLhandleARB (APIENTRY * PFNGLGETHANDLEARBPROC) (GLenum pname);
	typedef void (APIENTRY * PFNGLGETINFOLOGARBPROC) (GLhandleARB object,GLsizei maxLength,GLsizei* length,GLcharARB* infoLog);
	typedef void (APIENTRY * PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB object,GLenum pname,GLfloat* params);
	typedef void (APIENTRY * PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB object,GLenum pname,GLint* params);
	typedef void (APIENTRY * PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB shader,GLsizei maxLength,GLsizei* length,GLcharARB* source);
	typedef GLint (APIENTRY * PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB program,const GLcharARB* name);
	typedef void (APIENTRY * PFNGLGETUNIFORMFVARBPROC) (GLhandleARB program,GLint location,GLfloat* params);
	typedef void (APIENTRY * PFNGLGETUNIFORMIVARBPROC) (GLhandleARB program,GLint location,GLint* params);
	typedef void (APIENTRY * PFNGLLINKPROGRAMARBPROC) (GLhandleARB program);
	typedef void (APIENTRY * PFNGLSHADERSOURCEARBPROC) (GLhandleARB shader,GLsizei nstrings,const GLcharARB** strings,const GLint* lengths);
	typedef void (APIENTRY * PFNGLUNIFORM1FARBPROC) (GLint location,GLfloat v0);
	typedef void (APIENTRY * PFNGLUNIFORM1FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (APIENTRY * PFNGLUNIFORM1IARBPROC) (GLint location,GLint v0);
	typedef void (APIENTRY * PFNGLUNIFORM1IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (APIENTRY * PFNGLUNIFORM2FARBPROC) (GLint location,GLfloat v0,GLfloat v1);
	typedef void (APIENTRY * PFNGLUNIFORM2FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (APIENTRY * PFNGLUNIFORM2IARBPROC) (GLint location,GLint v0,GLint v1);
	typedef void (APIENTRY * PFNGLUNIFORM2IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (APIENTRY * PFNGLUNIFORM3FARBPROC) (GLint location,GLfloat v0,GLfloat v1,GLfloat v2);
	typedef void (APIENTRY * PFNGLUNIFORM3FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (APIENTRY * PFNGLUNIFORM3IARBPROC) (GLint location,GLint v0,GLint v1,GLint v2);
	typedef void (APIENTRY * PFNGLUNIFORM3IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (APIENTRY * PFNGLUNIFORM4FARBPROC) (GLint location,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3);
	typedef void (APIENTRY * PFNGLUNIFORM4FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (APIENTRY * PFNGLUNIFORM4IARBPROC) (GLint location,GLint v0,GLint v1,GLint v2,GLint v3);
	typedef void (APIENTRY * PFNGLUNIFORM4IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (APIENTRY * PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location,GLsizei count,GLboolean transpose,GLfloat* value);
	typedef void (APIENTRY * PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location,GLsizei count,GLboolean transpose,GLfloat* value);
	typedef void (APIENTRY * PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location,GLsizei count,GLboolean transpose,GLfloat* value);
	typedef void (APIENTRY * PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB program);
	typedef void (APIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB program);
#else
	typedef void (*PFNGLMULTITEXCOORD2FARBPROC) (GLenum texture, GLfloat s, GLfloat t);
	typedef void (*PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
	typedef void (*PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
	typedef void (*PFNGLUNLOCKARRAYSEXTPROC) (void);
	typedef void (*PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
	typedef void (*PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
	typedef void (*PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
	typedef void (*PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
	typedef void (*PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
	typedef void (*PFNGLATTACHOBJECTARBPROC) (GLhandleARB program,GLhandleARB shader);
	typedef void (*PFNGLCOMPILESHADERARBPROC) (GLhandleARB shader);
	typedef GLhandleARB (*PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
	typedef GLhandleARB (*PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
	typedef void (*PFNGLDELETEOBJECTARBPROC) (GLhandleARB object);
	typedef void (*PFNGLDETACHOBJECTARBPROC) (GLhandleARB container,GLhandleARB attached);
	typedef void (*PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB program,GLuint index,GLsizei maxLength,GLsizei *length,GLint *size,GLenum *type,GLcharARB *name);
	typedef void (*PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB program,GLsizei maxCount,GLsizei* count,GLhandleARB* objects);
	typedef GLhandleARB (*PFNGLGETHANDLEARBPROC) (GLenum pname);
	typedef void (*PFNGLGETINFOLOGARBPROC) (GLhandleARB object,GLsizei maxLength,GLsizei* length,GLcharARB* infoLog);
	typedef void (*PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB object,GLenum pname,GLfloat* params);
	typedef void (*PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB object,GLenum pname,GLint* params);
	typedef void (*PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB shader,GLsizei maxLength,GLsizei* length,GLcharARB* source);
	typedef GLint (*PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB program,const GLcharARB* name);
	typedef void (*PFNGLGETUNIFORMFVARBPROC) (GLhandleARB program,GLint location,GLfloat* params);
	typedef void (*PFNGLGETUNIFORMIVARBPROC) (GLhandleARB program,GLint location,GLint* params);
	typedef void (*PFNGLLINKPROGRAMARBPROC) (GLhandleARB program);
	typedef void (*PFNGLSHADERSOURCEARBPROC) (GLhandleARB shader,GLsizei nstrings,const GLcharARB** strings,const GLint* lengths);
	typedef void (*PFNGLUNIFORM1FARBPROC) (GLint location,GLfloat v0);
	typedef void (*PFNGLUNIFORM1FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (*PFNGLUNIFORM1IARBPROC) (GLint location,GLint v0);
	typedef void (*PFNGLUNIFORM1IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (*PFNGLUNIFORM2FARBPROC) (GLint location,GLfloat v0,GLfloat v1);
	typedef void (*PFNGLUNIFORM2FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (*PFNGLUNIFORM2IARBPROC) (GLint location,GLint v0,GLint v1);
	typedef void (*PFNGLUNIFORM2IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (*PFNGLUNIFORM3FARBPROC) (GLint location,GLfloat v0,GLfloat v1,GLfloat v2);
	typedef void (*PFNGLUNIFORM3FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (*PFNGLUNIFORM3IARBPROC) (GLint location,GLint v0,GLint v1,GLint v2);
	typedef void (*PFNGLUNIFORM3IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (*PFNGLUNIFORM4FARBPROC) (GLint location,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3);
	typedef void (*PFNGLUNIFORM4FVARBPROC) (GLint location,GLsizei count,GLfloat* value);
	typedef void (*PFNGLUNIFORM4IARBPROC) (GLint location,GLint v0,GLint v1,GLint v2,GLint v3);
	typedef void (*PFNGLUNIFORM4IVARBPROC) (GLint location,GLsizei count,GLint* value);
	typedef void (*PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location,GLsizei count,GLboolean transpose,GLfloat* value);
	typedef void (*PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location,GLsizei count,GLboolean transpose,GLfloat* value);
	typedef void (*PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location,GLsizei count,GLboolean transpose,GLfloat* value);
	typedef void (*PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB program);
	typedef void (*PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB program);
#endif*/

#endif





See more files for this project here

NeoEngineNG

NeoenEngine NG (Next Generation) is the evolution of neoengine one,it\'s a different development from NeoEngine2, it\'s a direct inherits from NeoEngine one.\n

Project homepage: http://sourceforge.net/projects/neoengineng
Programming language(s): C,C++
License: other

  BitArray.h
  Box.h
  Brush.h
  Demeter.h
  DemeterConfig.h
  DemeterConfig.h.in
  DemeterDrawable.h
  DemeterException.h
  DetailTexture.h
  GDALElevationLoader.h
  Globals.h
  ImageLoader.h
  Loader.h
  OGLSL.h
  Plane.h
  Ray.h
  SDLTextureLoader.h
  Settings.h
  Shader.h
  SkyBox.h
  SkyBoxDrawable.h
  StdAfx.h
  Terrain.h
  TerrainBlock.h
  TerrainLattice.h
  TerrainLoadListener.h
  TerrainVertex.h
  Texture.h
  TextureCell.h
  TextureSet.h
  Triangle.h
  Vector.h
  config.h