Support Forum       G3D Web Page     
Classes | Namespaces | Macros | Functions
platform.h File Reference

G3D Innovation Engine http://casual-effects.com/g3d Copyright 2000-2019, Morgan McGuire All rights reserved Available under the BSD License. More...

Classes

class  G3D::G3DSpecification
 Options for initG3D and initGLG3D. More...
 

Namespaces

 G3D
 
 G3D::_internal
 

Macros

#define __LINE_AS_STRING__   NUMBER_TO_STRING(__LINE__)
 
#define __TBB_NO_IMPLICIT_LINKAGE   1
 
#define __TBBMALLOC_NO_IMPLICIT_LINKAGE   1
 
#define _DLL
 
#define _ENABLE_EXTENDED_ALIGNED_STORAGE
 
#define _G3D_INTERNAL_HIDE_WINSOCK_
 
#define _MT   1
 
#define _WIN32_WINNT   0x0602
 
#define _WINSOCKAPI_
 
#define G3D_BEGIN_PACKED_CLASS(byteAlign)   class __attribute((__packed__))
 Switch to tight alignment. More...
 
#define G3D_CHECK_PRINTF_ARGS
 
#define G3D_CHECK_PRINTF_ARGS   __attribute__((__format__(__printf__, 1, 2)))
 
#define G3D_CHECK_PRINTF_METHOD_ARGS
 Enables printf parameter validation on gcc. More...
 
#define G3D_CHECK_PRINTF_METHOD_ARGS   __attribute__((__format__(__printf__, 2, 3)))
 Enables printf parameter validation on gcc. More...
 
#define G3D_CHECK_VPRINTF_ARGS
 
#define G3D_CHECK_VPRINTF_ARGS   __attribute__((__format__(__printf__, 1, 0)))
 
#define G3D_CHECK_VPRINTF_METHOD_ARGS
 
#define G3D_CHECK_VPRINTF_METHOD_ARGS   __attribute__((__format__(__printf__, 2, 0)))
 
#define G3D_DEBUG
 Defined if G3D is built in debug mode. More...
 
#define G3D_END_PACKED_CLASS(byteAlign)   __attribute((aligned(byteAlign))) ;
 End switch to tight alignment. More...
 
#define G3D_MIN_OPENGL_VERSION   410
 Minimum version of OpenGL required by G3D on this platform, mulitplied by 100 to create an integer, e.g., 330 = 3.30. More...
 
#define G3D_platform_h
 
#define G3D_START_AT_MAIN()
 Makes Windows programs using the WINDOWS subsystem invoke main() at program start by defining a WinMain(). More...
 
#define G3D_VER   100100
 
The version number of G3D in the form: MmmBB -> version M.mm [beta BB] More...
 
#define G3D_WINDOWS
 
#define NOMINMAX   1
 
#define NUMBER_TO_STRING(x)   NUMBER_TO_STRING2(x)
 
#define NUMBER_TO_STRING2(x)   #x
 
#define PRAGMA(x)   __pragma(x)
 #pragma may not appear inside a macro, so this uses the pragma operator to create an equivalent statement. More...
 
#define restrict
 
#define restrict   __restrict__
 
#define STR(x)   #x
 Creates a string from the expression. More...
 
#define TBB_IMPLEMENT_CPP0X   0
 
#define WIN32_LEAN_AND_MEAN   1
 

Functions

G3DSpecification & G3D::_internal::g3dInitializationSpecification ()
 Set by initG3D, defined in initG3D.cpp. More...
 

Detailed Description

G3D Innovation Engine http://casual-effects.com/g3d Copyright 2000-2019, Morgan McGuire All rights reserved Available under the BSD License.

Macro Definition Documentation

◆ __LINE_AS_STRING__

#define __LINE_AS_STRING__   NUMBER_TO_STRING(__LINE__)

◆ __TBB_NO_IMPLICIT_LINKAGE

#define __TBB_NO_IMPLICIT_LINKAGE   1

◆ __TBBMALLOC_NO_IMPLICIT_LINKAGE

#define __TBBMALLOC_NO_IMPLICIT_LINKAGE   1

◆ _DLL

#define _DLL

◆ _ENABLE_EXTENDED_ALIGNED_STORAGE

#define _ENABLE_EXTENDED_ALIGNED_STORAGE

◆ _G3D_INTERNAL_HIDE_WINSOCK_

#define _G3D_INTERNAL_HIDE_WINSOCK_

◆ _MT

#define _MT   1

◆ _WIN32_WINNT

#define _WIN32_WINNT   0x0602

◆ _WINSOCKAPI_

#define _WINSOCKAPI_

◆ G3D_BEGIN_PACKED_CLASS

#define G3D_BEGIN_PACKED_CLASS (   byteAlign)    class __attribute((__packed__))

Switch to tight alignment.

ThreeBytes {
public:
uint8 a, b, c;
}

See G3D::Color3uint8 for an example.

◆ G3D_CHECK_PRINTF_ARGS [1/2]

#define G3D_CHECK_PRINTF_ARGS

◆ G3D_CHECK_PRINTF_ARGS [2/2]

#define G3D_CHECK_PRINTF_ARGS   __attribute__((__format__(__printf__, 1, 2)))

◆ G3D_CHECK_PRINTF_METHOD_ARGS [1/2]

#define G3D_CHECK_PRINTF_METHOD_ARGS

Enables printf parameter validation on gcc.

◆ G3D_CHECK_PRINTF_METHOD_ARGS [2/2]

#define G3D_CHECK_PRINTF_METHOD_ARGS   __attribute__((__format__(__printf__, 2, 3)))

Enables printf parameter validation on gcc.

◆ G3D_CHECK_VPRINTF_ARGS [1/2]

#define G3D_CHECK_VPRINTF_ARGS

◆ G3D_CHECK_VPRINTF_ARGS [2/2]

#define G3D_CHECK_VPRINTF_ARGS   __attribute__((__format__(__printf__, 1, 0)))

◆ G3D_CHECK_VPRINTF_METHOD_ARGS [1/2]

#define G3D_CHECK_VPRINTF_METHOD_ARGS

◆ G3D_CHECK_VPRINTF_METHOD_ARGS [2/2]

#define G3D_CHECK_VPRINTF_METHOD_ARGS   __attribute__((__format__(__printf__, 2, 0)))

◆ G3D_DEBUG

#define G3D_DEBUG

Defined if G3D is built in debug mode.

◆ G3D_END_PACKED_CLASS

#define G3D_END_PACKED_CLASS (   byteAlign)    __attribute((aligned(byteAlign))) ;

End switch to tight alignment.

See G3D::Color3uint8 for an example.

◆ G3D_MIN_OPENGL_VERSION

#define G3D_MIN_OPENGL_VERSION   410

Minimum version of OpenGL required by G3D on this platform, mulitplied by 100 to create an integer, e.g., 330 = 3.30.

Assumes OpenGL core if > 300

◆ G3D_platform_h

#define G3D_platform_h

◆ G3D_START_AT_MAIN

#define G3D_START_AT_MAIN ( )
Value:
int WINAPI G3D_WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw);\
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {\
return G3D_WinMain(hInst, hPrev, szCmdLine, sw);\
}

Makes Windows programs using the WINDOWS subsystem invoke main() at program start by defining a WinMain().

Does nothing on other operating systems.

◆ G3D_VER

#define G3D_VER   100100


The version number of G3D in the form: MmmBB -> version M.mm [beta BB]

◆ G3D_WINDOWS

#define G3D_WINDOWS

◆ NOMINMAX

#define NOMINMAX   1

◆ NUMBER_TO_STRING

#define NUMBER_TO_STRING (   x)    NUMBER_TO_STRING2(x)

◆ NUMBER_TO_STRING2

#define NUMBER_TO_STRING2 (   x)    #x

◆ PRAGMA

#define PRAGMA (   x)    __pragma(x)

#pragma may not appear inside a macro, so this uses the pragma operator to create an equivalent statement.

◆ restrict [1/2]

#define restrict

◆ restrict [2/2]

#define restrict   __restrict__

◆ STR

#define STR (   x)    #x

Creates a string from the expression.

Frequently used with G3D::Shader to express shading programs inline.

STR(this becomes a string)

<PRE>

evaluates the same as

<CODE>

"this becomes a string"

◆ TBB_IMPLEMENT_CPP0X

#define TBB_IMPLEMENT_CPP0X   0

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN   1

documentation generated on Wed Nov 24 2021 08:01:51 using doxygen 1.8.15