# Welcome

Welcome to the OPengine documentation!

We're going to walk you through everything you'll need to get the OPengine up and running.

Roadmap

To stay up to date with everything that's currently being worked on look at the OPengine Trello board: https://trello.com/b/TeRMlNOE/opengine

# Downloading

Binaries


These are the binaries and include folders of the OPengine. This will get the engine running, but this does not contain the source code for the OPengine.

To obtain the OPengine source code, and rights to sell your games with these binaries, please purchase a license here.

Note that these are static builds of the OPengine.

Last Updated - 4/16/2015

Git Repository


To gain access to the OPengine Github Repository you must purchase a license to the OPengine. # Get It.


Accessing the repo

The OPengine is hosted on Github : http://github.com/TeamOPifex/OPengine

If you have any problems gaining access to the OPengine repository, please contact [email protected]

# Installation

Installation instructions

Windows


Required Software

Linux


Required Software

  • Git
    • apt-get install git
  • Cmake
    • apt-get install cmake
  • Compiler Tools
    • apt-get install build-essential -y
  • OpenGL ( Human Layer 5 - Rendering )
    • apt-get install mesa-common-dev
    • apt-get install xorg-dev
    • apt-get install liblu1-mesa-dev
    • apt-get install freeglut3-dev
  • OpenAL ( Human Layer 5 - Audio)
    • apt-get install libopenal1
    • apt-get install libopenal-dev
  • libogg ( Human Layer 5 - Audio )
    • cd /tmp && wget -O libogg-1.3.0.tar.gz http://goo.gl/vHzMn
    • tar zxvf libogg-1.3.0.tar.gz && cd libogg-1.3.0
    • ./configure && make
    • make install
  • libvorbis ( Human Layer 5 - Audio )
    • cd /tmp && wget -O libvorbis-1.3.3.tar.gz http://goo.gl/nSDmc
    • tar zxvf libvorbis-1.3.3.tar.gz && cd libvorbis-1.3.3
    • ./configure && make
    • make install

# Building

Building the engine across all end points.

Release Mode


To build your game or the engine for release:

Turn on the OPIFEX_RELEASE option in cmake

Windows

Select release mode in Visual Studio when building

NodeJs


Building the OPengine to use with NodeJs

  • Install node-gyp (npm install -g node-gyp)
  • Turn on OPIFEX_NODEJS
  • node-gyp configure
  • node-gyp build
  • Copy the build/Release folder to your node_modules folder
  • Rename Release to OPengine
  • var OP = require('./node_modules/OPengine/OPengine');

Android


SDK

NDK

iOS


iOS will be coming soon to the OPengine.

# Architecture

Lets go through each layer one by one and explain the functionality, the reasoning, and the future plans.

Core Layer 1


This is the root of the engine. Everything is run through it, and at a minimal you have to include this layer.

The Core expects 3 methods to be provided: OPinitialize, OPupdate, OPdestroy. Each will handle their respective parts in the engine.

Once you tell the engine to start it will take care of calling those methods appropriately.

Data Layer 2


This handles the primary data structures needed like Hash Maps, Lists, etc.

It also handles the Content Manager to load all of your resources.

Math Layer 3


Rather self explanatory layer, it provides all of the mathematical code you'll need for a 2D or 3D game.

Performance Layer 4


This handles threading and physics.

Human Layer 5


Anything that a user would interact with is contained in this layer.

Examples:

  • Audio
  • Input
  • Rendering

Communcation Layer 6


All of the networking code happens here whether it's through UDP or through Web Sockets.

Scripting Layer 7


This handles more of the mundane, common use code, that builds upon the layers below it.

Examples:

  • 2D and 3D Sprites
  • Rendering Models with Effects and Cameras

Pipeline Layer 8


It uses the V8 engine to provide scripting access with javascript.

It also compiles into a nodejs addon.

Application Layer 9


This is your layer. Your game/application goes here and you can include any of the layers you want to create your game.

# OPengine Mantra

Fast. Simple. Cross-Platform.

# Style Guide

The OPengine style guide

Methods

Ex: OPint OPtimerInit(OPtimer* timer);

Every method in the OPengine will be prefixed with OP.

After the OP the namespace of the method is followed. (timer)

From there it's camel-case with functionality of the method. (Init)


Create() calls will allocate memory (OPtimerCreate)

Init() calls take already allocated memory (OPtimerInit)

Destroy() will de-alloc all of the memory used including the containing memory block (OPtimerDestroy)

Clean() will de-alloc any extra memory used from Init but not the block of memory itself (OPtimerClean)
This is only present if the Init call allocates extra memory

Defines

Defined in all caps. (ex: OPKEYBOARD_MAX)

Global Variables

Defined in all caps. (ex: OPRENDER_WIDTH)

Structs

Pre-fixed by an OP. Then followed by camel-case. (ex: OPtimer)

Enums

Pre-fixed by an OP. Then followed by camel-case. (ex: OPgamePadButtons)

Values within an enum are defined in all caps. (ex: OPGAMEPADBUTTON_A)

Files

All files in the engine will be named the namespace of the containing functionality.

(Ex: OPtimer will be found in the file OPtimer.h)

# Samples & Tutorials

A whole bunch of samples, tutorials, and walkthroughs.

Intro


# Project Structure
How the engine is setup and how your application (can be) setup.
# The Game Loop
Explains how the engine does what it does.
# Game States
How to use game states
# Content Manager
Taking advantage of the Content Manager

Basics


# 3D Model
Render a 3D model
# Textured 3D Model
Render a textured 3D model
# Input
Getting input from the Mouse, Keyboard, and GamePads.
# Audio
Play background and sound effects
# Particle System
Using the particle system
# Scripting
Using the V8 engine to script your games.
# Skinning
Rendering a skinned model

Advanced


# Physics
The minimum to use the PhysX SDK
# Networking
Sending messages back and forth
# Deferred Renderer
Setting up a deferred renderer

Third Party


# Myo
Using the Thalmic Myo for input
# Oculus
Setting up and using the Oculus Rift
# Spine
Setting up and using the Spine library

OPallocator.h Core\include\OPallocator.h

Typedefs


OPallocator OPallocator

Structs


OPallocator

OPcore.h Core\include\OPcore.h

Functions


Begins the game cycle.
This function is responsible for several actions. It creates an
OPtimer instance, and invokes the function pointer OPinitialize() to
perform user defined initializations. Once initialized, the game loop
is started. The timer instance is updated on each iteration and passed
to the OPupdate function pointer. The game loop runs until OPend() is
called. At which point the OPdestroy() function pointer is called and
and clean up is performed.

void OPstartint argcchar* args )

void OPstartSteppedint argcchar* args )

Ends the game cycle.
This function sets an internal flag which will cease the game loop.
and result in the termination and clean up of all user code and
data.

void OPend )

Gets the current OPtimer being used by the engine

OPtimer* OPgetTime )

OPchar* OPgetStartupDir )

OPchar* OPgetExecutableDir )

OPdir.h Core\include\OPdir.h

Functions


OPchar* OPdirCurrent )

OPchar* OPdirExecutable )

OPgameCycle.h Core\include\OPgameCycle.h

Variables


Game engine initialization.
This function pointer points to a user function which is responsible
for performing any essential initialization, data allocation and setup
which is needed to begin the primary game loop.

void() OPinitialize

Game engine update.
This function pointer points to a user function which accepts an
OPtimer as an argument. This function performs whatever action needs
to be taken to actually run the game. For example, this function would
be responsible for invoking game-logic updates, input device polling
and scene rendering.

OPint() OPupdate

Game engine render.
This function pointer points to a user function which accepts an
OPfloat as an argument. This function performs whatever actions are
needed to do scene rendering.

void() OPrender

Game engine termination.
This function pointer points to a user function which is responsible
for gracefully terminating the game engine. This may include saving
data, deallocating memory, releasing OS resources and closing
network connections.

void() OPdestroy

OPlog.h Core\include\OPlog.h

Variables


i32 LogToHandle

ui32 OP_LOG_LEVEL

void() OPlogHandler

Functions


void OPlogSetOutputi32 handle )

Prints out to the console, accepts variable arguments like sprintf

void OPlgconst char* message )

Prints out to the console, accepts variable arguments like sprintf,
does not write a new line at the end of the message

void OPlogconst char* message )

void OPvlogui32 levelconst char* channelconst char* messageva_list args )

void OPlogChanneli32 levelconst char* channelconst char* message )

Level 10

void OPlogDebugconst char* message )

Level 30

void OPlogInfoconst char* message )

Level 20

void OPlogWarnconst char* message )

Level 0

void OPlogErrconst char* message )

OPmath.h Core\include\OPmath.h

Functions


OPceil - math helper
Calculates the ceiling of a floating point number. For example
if 0.5 is passed as f, then 1 will be returned.

OPint OPceilOPfloat f )

OPfloor - math helper
Calculates the floor of a floating point number. For example
if 0.5 is passed as f, then 0 will be returned.

OPint OPfloorOPfloat f )

OPabs - math helper
Calculates the absolute value of a floating point number.

OPfloat OPabsOPfloat f )

d64 OPabsd64 f )

OPabsf - math helper
Explicitly calculates the absolute value of a floating point number.

OPfloat OPabsfOPfloat f )

OPabsi - math helper
Calculates the absolute value of an integer number.

OPint OPabsiOPint i )

OPsin - math helper
Calculates the sine of a floating point number.

OPfloat OPsinOPfloat f )

OPcos - math helper
Calculates the cosine of a floating point number.

OPfloat OPcosOPfloat f )

OPtan - math helper
Calculates the tangent of a floating point number.

OPfloat OPtanOPfloat f )

OPasin - math helper
Calculates the arc sine of a floating point number.

OPfloat OPasinOPfloat f )

OPacos - math helper
Calculates the arc cosine of a floating point number.

OPfloat OPacosOPfloat f )

OPatan - math helper
Calculates the arc tangent of a floating point number.

OPfloat OPatanOPfloat f )

OPatan2 - math helper
Uses the signs of both parameters to determine the quadrant of the return floating point value.

OPfloat OPatan2OPfloat xOPfloat y )

OPpow - math helper
Raises b to a power.

OPfloat OPpowOPfloat bOPfloat exp )

OPsqrt - math helper
Calculates the square root of a floating point number.

d64 OPsqrtd64 f )

OPlog10 - math helper
Calculates the base 10 log of a floating point number.

OPfloat OPlog10OPfloat f )

OPlog2 - math helper
Calculates the base 2 log of a floating point number.

OPfloat OPlog2OPfloat f )

OPln - math helper
Calculates the natural log of a floating point number.

OPfloat OPlnOPfloat f )

OPround - math helper
Returns a rounded number to the nearest whole number.

OPfloat OProundOPfloat f )

OPnear - math helper
Determines if a value is within a threashold of another

OPint OPnearOPfloat valueOPfloat targetOPfloat threshhold )

OPrandom - math helper
Returns a randomized floating point number.

OPfloat OPrandom )

OPrandom - math helper
Returns a randomized floating point number.

OPfloat OPrandRangeOPfloat minOPfloat max )

OPmemory.h Core\include\OPmemory.h

Variables


OPint OPallocations

OPint OPdeallocations

OPallocator OPDEFAULT_ALLOCATOR

Functions


Platform independent means to dynamically allocate memory.

void* OPallocOPuint bytes )

Platform independent means to dynamically allocate memory and zero it out.

void* OPallocZeroOPuint bytes )

Platform independent means to dynamically reallocate memory.

void* OPreallocvoid* ptrOPuint bytes )

Platform independent means do deallocate dynamically
allocated memory. If a null pointer is passed no action
is taken.

void OPfreevoid* ptr )

void* OPsysAllocOPuint bytes )

void OPsysFreevoid* ptr )

OPtimer.h Core\include\OPtimer.h

Typedefs


OPtimer OPtimer

Functions


OPtimerInit - creates an OPtimer instance
Allocates space and initializes an OPtimer struct, then returns a
pointer to the allocated memory segment. If allocation fails, a NULL
pointer is returned.

OPint OPtimerInitOPtimer* timer )

OPtimerTick - updates a OPtimer
Updates an OPtimer instance with updated internal values representing
time at the moment of the call. This function will not check to see
if the OPtimer pointer is null before operating on it.

void OPtimerTickOPtimer* timer )

OPtimerDelta - returns real time between ticks.
Acts as a getter for the appropriate internal values of the provided
OPtimer instance. The float value retuned is as a measurment in
milliseconds since the last call to OPtimerTick(). This function will
not check to see if the OPtimer pointer is null before operating on it.

OPfloat OPtimerDeltaOPtimer* timer )

OPtimerTotal - milliseconds since the timer's creation
Acts as a getter for the appropriate internal values of the provided
OPtimer instance. The unsigned integer value retuned is as a truncated
measurment of total milliseconds from the first call to OPtimerTick()
to the most recent call. This function will not check to see if the
OPtimer pointer is null before operating on it.

ui64 OPtimerTotalOPtimer* timer )

Structs


Struct definitions */
Time measurment object.
The OPtimer struct is responsible for keeping track of
time elapsed between ticks, and total time over all updates.

OPtimer

ui64 TotalGametime
ui64 Elapsed
LARGE_INTEGER TimeLastTick

OPtypes.h Core\include\OPtypes.h

Typedefs


int i32

Varies between platforms
On Android it's of size of 16
on Desktop it's of size of 8

char OPchar

i32 OPint

ui32 OPuint

f32 OPfloat

OPkeyValuePair OPkeyValuePair

Structs


A standard Key Value Pair
key[255], value[255]

OPkeyValuePair

key
value

OPallocator.h Data\include\OPallocator.h

Functions


Ensures allocators are 4 byte aligned

ui8 OPallocAlignAdjustmentconst void* addressui8 alignment )

OPallocLinear.h Data\include\OPallocLinear.h

Typedefs


OPallocatorLinear OPallocatorLinear

Functions


void OPallocatorLinearInitOPallocator* resultOPuint sizeInBytes )

OPallocator* OPallocatorLinearCreateOPuint sizeInBytes )

void OPallocatorLinearDestroyOPallocator* alloc )

void* OPallocatorLinearAllocOPallocator* allocOPuint sizeInBytes )

void OPallocatorLinearFreeOPallocator* allocvoid* data )

void OPallocatorLinearResetOPallocator* alloc )

OPuint OPallocatorLinearUsedOPallocatorLinear* alloc )

Structs


Struct definitions */
Linear Memory Block

OPallocatorLinear

OPuint _allocCount
OPuint _usedMemory
OPuint _size
void* _headerStart
void* _memStart
void* _currentPos

OPcman.h Data\include\OPcman.h

Variables


OPhashMap OP_CMAN_HASHMAP

OPassetLoader* OP_CMAN_ASSETLOADERS

OPint OP_CMAN_ASSET_LOADER_COUNT

OPlinkedList* OP_CMAN_PURGE

OP_CMAN_RESOURCE_FILES

Typedefs


OPresourceFile OPresourceFile

OPassetLoader OPassetLoader

OPasset OPasset

Functions


*Debug Only*
Watches the files of loaded resources for changes
Looks at Last Write Time for each file once every second
When a change happens the Reload method is called

void OPcmanUpdateOPtimer* timer )

Adds a loader to be used when OPcmanInit is called

void OPcmanAddLoaderOPassetLoader* loader )

Initializes the Content Manager with an array of Asset Loaders
A custom directoy can be provided otherwise it defaults to assets/

OPint OPcmanInitconst OPchar* dir )

Unloads all assets that are no longer needed (marked deleted)
Assets that are no longer needed have been deleted with OPcmanDelete

OPint OPcmanPurge )

checks to see if an asset is loaded, triggers the load or unload.

OPint OPcmanIsLoadedconst OPchar* key )

Attempts to load an asset

OPint OPcmanLoadconst OPchar* key )

Unloads a resource

OPint OPcmanUnloadconst OPchar* key )

Returns a pointer to the resource requested by file name

void* OPcmanGetconst OPchar* key )

Loads a resource and returns a pointer to the resource requested

void* OPcmanLoadGetconst OPchar* key )

Marks an asset as ready to delete
It will only be removed from memory when OPcmanPurge is called

OPint OPcmanDeleteconst OPchar* key )

Marks an asset as ready to delete
It will only be removed from memory when OPcmanPurge is called

void OPcmanDestroy )

OPint OPcmanSetDirOPchar* dir )

Loads a Resource Pack into the OPcman
The header data is loaded into memory, but the individual resources will be loaded
at request. The FILE handle will remain open until the Resource Pack is unloaded.

void OPcmanLoadResourcePackconst OPchar* filename )

Gets an asset OPstream out of a Resource Pack that has been loaded
It will look in Resource Packs in the order they were loaded. If no
resource could be found, it will return NULL

OPstream* OPcmanGetResourceconst OPchar* resourceName )

Structs


OPresourceFile

OPfile resourceFile
ui16 headerSize
ui16 resourceCount
OPchar* resourceNames
ui32* resourceOffset
ui32* resourceSize

OPassetLoader

Extension
const OPchar* AssetTypePath
OPint AssetSize
OPint() Unload
OPint() Reload

OPasset

void* Asset
OPint() Unload
OPint Dirty

OPentHeap.h Data\include\OPentHeap.h

Typedefs


OPentHeap OPentHeap

Functions


Fills the pointer i with the index of the activated entity in the EntHeap

void OPentHeapActivateOPentHeap* heapOPint* i )

Get an indexed entity out of an EntHeap

void* OPentHeapGetOPentHeap* heapOPint i )

Kill off an entity in an EntHeap. It will be re-used when OPentHeapActivate is called.

void OPentHeapKillOPentHeap* heapOPint i )

Gets the size required to create an EntHeap

OPuint OPentHeapBytesOPint entsizeOPint count )

Creates an EntHeap

OPentHeap* OPentHeapCreatevoid* segPtrOPint entSizeOPint count )

Structs


OPentHeap

void* Entities
OPint* InUse
OPint EntSize
OPint MaxIndex
OPuint Capacity

OPfile.h Data\include\OPfile.h

Typedefs


OPfile OPfile

OPfileInformation OPfileInformation

Functions


OPreadui16 - Reads the next 2 bytes from the file and converts to ui16

ui16 OPreadui16OPstream* str )

OPreadui32 - Reads the next 4 bytes from the file and converts to ui32

ui32 OPreadui32OPstream* str )

OPreadi8 - Reads the next 1 byte from the file and converts to i8

OPchar OPreadi8OPstream* str )

OPreadi16 - Reads the next 2 bytes from the file and converts to i16

i16 OPreadi16OPstream* str )

OPreadi32 - Reads the next 4 bytes from the file and converts to i32

i32 OPreadi32OPstream* str )

OPreadf32 - Reads the next 4 bytes from the file and converts to f32

f32 OPreadf32OPstream* str )

OPreadstring - Reads the next string from the file

OPchar* OPreadstringOPstream* str )

OPreadFileInformation - Reads file information, getting start and length

OPfileInformation OPreadFileInformationconst char* path )

OPwriteFile - Writes a byte stream to a file.

OPint OPwriteFileconst char* pathOPstream* data )

OPreadFile - Reads a file into a byte stream.

OPstream* OPreadFileconst char* path )

OPreadFile - Reads a file into a byte stream.

OPstream* OPreadFileLargeconst char* pathui32 expectedSize )

OPfileExists - Checks for the existance of a file.

OPint OPfileExistsconst char* path )

OPdeleteFile - Deletes a file from the filesystem.

OPint OPdeleteFileconst char* path )

ui64 OPfileLastChangeconst OPchar* path )

OPfile OPfileOpenconst OPchar* path )

OPstream* OPfileReadOPfile* pathui32 size )

OPint OPfileWriteui8OPfile* fileui8 data )

OPint OPfileWriteui16OPfile* fileui16 data )

OPint OPfileWriteui32OPfile* fileui32 data )

OPint OPfileWritei8OPfile* filei8 data )

OPint OPfileWritei16OPfile* filei16 data )

OPint OPfileWritei32OPfile* filei32 data )

OPint OPfileWriteStringOPfile* fileconst OPchar* data )

OPint OPfileWriteBytesOPfile* filevoid* dataui64 bytesToWrite )

ui8 OPfileReadui8OPfile* file )

ui16 OPfileReadui16OPfile* file )

ui32 OPfileReadui32OPfile* file )

i8 OPfileReadi8OPfile* file )

i16 OPfileReadi16OPfile* file )

i32 OPfileReadi32OPfile* file )

OPchar* OPfileReadStringOPfile* file )

void* OPfileReadBytesOPfile* fileui64 bytesToRead )

OPint OPfileSeekResetOPfile* file )

OPint OPfileSeekOPfile* fileOPint pos )

OPint OPfileCloseOPfile* file )

OPfileInformation OPfileCreateconst char* path )

Structs


OPfile

OPfileInformation

FILE* file
ui32 start
ui32 length
int fileDescriptor

OPgameState.h Data\include\OPgameState.h

Variables


OPgameState* ActiveState

Typedefs


OPgameState OPgameState

Functions


Changes the current game state, on change calls the Exit on the current game state, and then the initialize on the new game state

void OPgameStateChangeOPgameState* targetState )

Creates a new OPgameState

OPgameState* OPgameStateCreatevoid() initOPint() updateOPint() exit )

Destroys an OPgameState by deallocating the memory

OPint OPgameStateDestroyOPgameState* state )

Structs


OPgameState

OPint() Update
void() Render
void* Data

OPhashMap.h Data\include\OPhashMap.h

Typedefs


KeyValuePair KeyValuePair

Bucket Bucket

OPhashMap OPhashMap

Functions


void OPhashMapInitOPhashMap* hashMapOPuint capacity )

Creates a HashMap (Dictionary)

OPhashMap* OPhashMapCreateOPuint capacity )

Destroys an OPhashMap

void OPhashMapDestroyOPhashMap* map )

Gets a value out of an OPhashMap

OPint OPhashMapGetconst OPhashMap* hashMapconst OPchar* keyvoid* value )

Determines if an OPhashMap contains a value with a key

OPint OPhashMapExistsconst OPhashMap* mapconst OPchar* key )

Puts a value by a key into an OPhashMap. If all buckets have been used it will fail.

OPint OPhashMapPutOPhashMap* mapconst OPchar* keyvoid* value )

Gets the number of buckets being used by an OPhashMap

OPint OPhashMapCountconst OPhashMap* map )

Structs


_____ _ _
/ ____| | | |
(___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
\__|_| \__,_|\___|\__|___/

KeyValuePair

Bucket

OPhashMap

OPuint count
Bucket* buckets

OPjson.h Data\include\OPjson.h

Typedefs


OPjson OPjson

Functions


OPjson OPjsonLoadconst OPchar* data )

ui32 OPjsonElementsOPjson json )

ui32 OPjsonArraySizeOPjson json )

OPjson OPjsonGetOPjson jsonconst OPchar* key )

OPjson OPjsonArrayGetOPjson jsonui32 index )

const OPchar* OPjsonStringOPjson json )

i64 OPjsonI64OPjson json )

f32 OPjsonF32OPjson json )

i8 OPjsonBoolOPjson json )

OPjsonTypeOPjson json )

void OPjsonLogOPjson root )

void OPjsonDestroyOPjson json )

OPint OPjsonCmanLoadOPstream* strvoid* asset )

OPint OPjsonCmanUnloadvoid* asset )

const OPchar* OPjsonStringOPjson jsonconst OPchar* key )

Structs


OPjson

OPlinkedList.h Data\include\OPlinkedList.h

Typedefs


OPlinkedList OPlinkedList

Functions


Creates an OPlinkedList

OPlinkedList* OPllCreate )

Destroys an OPlinkedList

OPint OPllDestroyOPlinkedList* list )

Inserts a node into the first position of an OPlinkedList

OPllNode* OPllInsertFirstOPlinkedList* listvoid* data )

Inserts a node into the last position of an OPlinkedList

OPllNode* OPllInsertLastOPlinkedList* listvoid* data )

Removes an OPllNode from an OPlinkedList

void* OPllRemoveOPlinkedList* listOPllNode* toRemove )

Gets the number of elements stored in the OPlinkedList

OPint OPllGetSizeOPlinkedList* list )

Structs


OPllNode_def

OPlinkedList

OPlist.h Data\include\OPlist.h

Typedefs


OPlist OPlist

Functions


Creates a new OPlist

OPlist* OPlistCreateOPint capacityOPint elementSize )

Destroys an OPlist

OPint OPlistDestroyOPlist* list )

Copies an element into the OPlist
The value is mem copied into the list so the value passed can be safely freed

OPint OPlistPushOPlist* listui8* value )

Pops the last element of the OPlist

ui8* OPlistPopOPlist* list )

Peeks at the last element of the OPlist

ui8* OPlistPeekOPlist* list )

Inserts an element at an index to an OPlist

OPint OPlistInsertOPlist* listui8* valueOPuint index )

Removes an element at an index of an OPlist

OPint OPlistRemoveAtOPlist* listOPuint index )

Gets an element at an index of an OPlist

ui8* OPlistGetOPlist* listOPuint index )

Sets an element at an index of an OPlist
This will overwrite anything at the specified index

ui8* OPlistSetOPlist* listOPuint indexui8* value )

Current size of an OPlist

OPuint OPlistSizeOPlist* list )

Structs


An OPlist

OPlist

ui8* _indices
OPuint _capacity
OPuint _size
OPuint _elementSize

OPlogToFile.h Data\include\OPlogToFile.h

Functions


void OPlogToFileconst char* path )

OPmemPack.h Data\include\OPmemPack.h

Typedefs


OPmemDesc OPmemDesc

Functions


Allocates a block of memory to be used in segements

void* OPmemPackAllocOPmemDesc* segmentsOPuint segCountOPint n )

void OPmemPackDeallocvoid* DataOPmemDesc* segmentsOPint segCountOPint n )

Structs


OPmemDesc

void() Alloc
void() Dealloc
void* Data

OPminHeap.h Data\include\OPminHeap.h

Typedefs


OPminHeap OPminHeap

Functions


Creates an OPminHeap

OPminHeap* OPminHeapCreateOPuint capacity )

Destroys an OPminHeap

OPint OPminHeapDestroyOPminHeap* heap )

Puts an element into an OPminHeap

OPint OPminHeapPushOPminHeap* heapOPint value )

Pops an element off the top of an OPminHeap

OPint OPminHeapPopOPminHeap* heap )

Looks at the top element of an OPminHeap without popping it off

OPint OPminHeapPeekOPminHeap* heap )

Size of the OPminHeap

OPint OPminHeapSizeOPminHeap* heap )

Structs


OPminHeap

OPint* _indices
OPuint _capacity
OPuint _size

OPradixSort.h Data\include\OPradixSort.h

Functions


Sorts an array based on a Radix sort algorithm

void OPradixSortvoid* datavoid* duplicatei64 ni64() getKeyvoid*() getEntityvoid() setKey )

OPsharedLibrary.h Data\include\OPsharedLibrary.h

Typedefs


OPsharedLibrarySymbol OPsharedLibrarySymbol

OPsharedLibrary

OPdll OPdll

Functions


OPsharedLibrary* OPsharedLibraryLoadconst OPchar* path )

OPint OPsharedLibraryDestroyOPsharedLibrary* sharedLibrary )

OPint OPsharedLibraryReloadOPsharedLibrary* sharedLibrary )

OPsharedLibrarySymbol* OPsharedLibraryLoadSymbolOPsharedLibrary* sharedLibraryconst OPchar* symbolName )

OPint OPsharedLibraryCloseOPsharedLibrary* sharedLibrary )

OPdll OPdllOpenconst OPchar* path )

OPint OPdllUpdateOPdll* dll )

void* OPdllSymbolOPdll* dllconst OPchar* symbol )

void OPdllCloseOPdll* dll )

Structs


OPsharedLibrarySymbol

void* Symbol
const OPchar* _symbolName

HMODULE _library
const OPchar* _libraryPath
OPuint _lastModifiedTime
OPlist* _symbols

OPdll

OPstream.h Data\include\OPstream.h

Typedefs


OPstream OPstream

Functions


OPstreamCreate - Allocates a byte stream instance.

OPstream* OPstreamCreateOPuint size )

OPstreanDestroy - Deallocates memory used by a stream.

OPuint OPstreamDestroyOPstream* stream )

OPwrite - Append data to the stream.

OPuint OPwriteOPstream* streamvoid* dataOPuint size )

OPread - Reads data and advances the pointer.
no allocation performed.

ui8* OPreadOPstream* streamOPuint size )

i8 OPstreamI8OPstream* stream )

i16 OPstreamI16OPstream* stream )

i32 OPstreamI32OPstream* stream )

ui8 OPstreamUI8OPstream* stream )

ui16 OPstreamUI16OPstream* stream )

ui32 OPstreamUI32OPstream* stream )

f32 OPstreamf32OPstream* stream )

Reads the first string it finds in the stream
Defined by a separated space.
Ex: 'Apple Banana Pear' would return Apple

OPchar* OPstreamStringOPstream* stream )

Reads the next line available in the OPstream
Reads until it finds a \n and will remove all \r

OPchar* OPstreamReadLineOPstream* stream )

Reads a text key value pair
Ex: ' Test = My Value ' would return a KeyValue of
Key : Test
Value : My Value

OPint OPstreamReadKeyValuePairOPstream* streamOPkeyValuePair* dst )

OPreadAt - Reads data at a specific location.
no allocation performed.

ui8* OPreadAtOPstream* streamOPuint posOPuint size )

OPcopy - Reads data, and copies it into a provided buffer

OPuint OPcopyOPstream* streamvoid* destOPuint size )

OPseek - Skip to a specific byte location in the stream.

OPuint OPseekOPstream* streamOPuint byte )

Structs


OPstream

OPuint Length
Buffer
OPuint _pointer
OPchar* Source
ui8* Data

OPstring.h Data\include\OPstring.h

Functions


OPint OPstringEqualsconst OPchar* strconst OPchar* cmp )

OPint OPstringStartsWithOPchar* strconst OPchar* cmp )

OPint OPstringEndsWithOPchar* strconst OPchar* cmp )

void OPstringRemoveFromStartOPchar* stri32 size )

OPchar* OPstringGetNonConstantconst OPchar* str )

OPchar* OPstringCreateMergedconst OPchar* strconst OPchar* add )

OPchar* OPstringCopyconst OPchar* str )

OPchar* OPstringSubconst OPchar* strui32 startui32 end )

OPint OPstringContainsOPchar* strconst OPchar* cmp )

void OPstringToLowerOPchar* str )

OPvector.h Data\include\OPvector.h

Typedefs


OPvector OPvector

Functions


OPvector* OPvectorCreateOPint elementSize )

void OPvectorDestroyOPvector* vector )

ui8* OPvectorGetOPvector* vectorOPuint index )

ui8* OPvectorFrontOPvector* vector )

ui8* OPvectorBackOPvector* vector )

OPint OPvectorContainsOPvector* vectorui8* itemOPint() cmp )

OPint OPvectorIsEmptyOPvector* vector )

OPint OPvectorSizeOPvector* vector )

OPint OPvectorCapacityOPvector* vector )

void OPvectorClearOPvector* vector )

void OPvectorSetOPvector* vectorOPuint indexui8* item )

void OPvectorEraseOPvector* vectorOPuint index )

void OPvectorEraseRangeOPvector* vectorOPuint indexFirstOPuint indexLast )

void OPvectorPushOPvector* vectorui8* item )

void OPvectorPopOPvector* vectorui8* item )

void OPvectorInsertOPvector* vectorOPuint indexui8* item )

void OPvectorReserveOPvector* vectorOPuint size )

Structs


will be replaced by OPlist

OPvector

void* items
OPuint _capacity
OPuint _size
OPuint _elementSize

OPboundingBox2D.h Math\include\OPboundingBox2D.h

Functions


Creates an OPboundingBox2D

OPboundingBox2D OPboundingBox2DCreateOPvec2 minOPvec2 max )

Structs


OPboundingBox2D

OPboundingBox3D.h Math\include\OPboundingBox3D.h

Functions


OPboundingBox3D OPboundingBox3DCreateOPvec3 minOPvec3 max )

void OPboundingBox3DAddVec3OPboundingBox3D* bbOPvec3* point )

OPint OPboundingBox3DContainsVec3OPboundingBox3D* bbOPvec3* point )

OPint OPboundingBox3DContainsBoundingBox3DOPboundingBox3D* bbOPboundingBox3D* bb2 )

OPint OPboundingBox3DCollisionBoundingBox3DOPboundingBox3D modelBoundsOPboundingBox3D playerBounds )

i8 OPboundingBox3DRay3DOPboundingBox3D bOPray3D ray )

Structs


OPboundingBox3D

OPboundingSphere3D.h Math\include\OPboundingSphere3D.h

Functions


OPint OPboundingSphere3DCollisionOPboundingSphere3D* obj1OPboundingSphere3D* obj2 )

Structs


OPboundingSphere3D

OPbox2D.h Math\include\OPbox2D.h

Functions


OPbox2D OPbox2DCreateOPvec2 posOPvec2 size )

Structs


OPbox2D

OPvec2 position

OPintersection2D.h Math\include\OPintersection2D.h

Functions


OPintersectLine2DBoundBox2DOPline2D* lineOPboundingBox2D* bb )

OPline2D.h Math\include\OPline2D.h

Functions


OPline2D OPline2DCreateOPvec2 startOPvec2 end )

Structs


OPline2D

OPmat3.h Math\include\OPmat3.h

Functions


OPvec3* OPmat3IndexOPmat3* mint idx )

void OPmat3IdentityOPmat3* dst )

Structs


OPmat3

cols

OPmat4.h Math\include\OPmat4.h

Variables


EXTERNALS

const OPmat4 OPMAT4_ZERO

const OPmat4 OPMAT4_IDENTITY

Typedefs


OPmat4 OPmat4

Functions


INLINE PRE DECLARATIONS

OPmat4 OPmat4MulOPmat4 m1OPmat4 m2 )

void OPmat4MulOPmat4* dstOPmat4 m1OPmat4 m2 )

OPmat4 OPmat4RotXOPfloat t )

void OPmat4RotXOPmat4* mOPfloat x )

OPmat4 OPmat4RotYOPfloat t )

void OPmat4RotYOPmat4* mOPfloat x )

OPmat4 OPmat4RotZOPfloat t )

void OPmat4RotZOPmat4* mOPfloat x )

OPmat4 OPmat4TranslateOPfloat xOPfloat yOPfloat z )

void OPmat4TranslateOPmat4* mOPfloat xOPfloat yOPfloat z )

OPmat4 OPmat4SclOPfloat x )

OPmat4 OPmat4SclOPfloat xOPfloat yOPfloat z )

void OPmat4SclOPmat4* mOPfloat xOPfloat yOPfloat z )

OPvec2 OPmat4TransformOPvec2 aOPmat4 b )

OPvec3 OPmat4TransformOPvec3 aOPmat4 b )

OPvec4 OPmat4TransformOPvec4 aOPmat4 b )

OPmat4 OPmat4Createf32 _00f32 _10f32 _20f32 _30f32 _01f32 _11f32 _21f32 _31f32 _02f32 _12f32 _22f32 _32f32 _03f32 _13f32 _23f32 _33 )

OPmat4 OPmat4CreateOPvec4 row0OPvec4 row1OPvec4 row2OPvec4 row3 )

void OPmat4IdentityOPmat4* m )

OPmat4 OPmat4TransposeOPmat4 m )

OPvec3 OPmat4GetTranslateOPmat4 mat )

OPmat4 OPmat4TranslateOPvec3 v )

OPmat4 OPmat4TranslateOPvec2 v )

OPmat4 OPmat4RotXOPmat4 mOPfloat x )

OPmat4 OPmat4RotYOPmat4 mOPfloat x )

OPmat4 OPmat4RotZOPmat4 mOPfloat x )

OPmat4 OPmat4SclOPmat4 mOPfloat xOPfloat yOPfloat z )

OPmat4 OPmat4SclOPmat4 mOPfloat x )

OPmat4 OPmat4TranslateOPmat4 mOPfloat xOPfloat yOPfloat z )

OPmat4 OPmat4SetTranslateOPmat4 mOPfloat xOPfloat yOPfloat z )

OPmat4 OPmat4TranslateOPmat4 mOPvec3 v )

OPmat4 OPmat4SetTranslateOPmat4 mOPvec3 v )

NOTE(garrett): Pretty sure this unneeded now that we have OPquat
I think we still need it, we can use a quat to compound
but we may still need to retrieve them as a matrix
use with shaders

void OPmat4BuildQuatOPmat4* dstOPquat* qtr )

OPmat4 OPmat4FromOPquat a )

OPfloat OPmat4GetCofactorOPfloat m0OPfloat m1OPfloat m2OPfloat m3OPfloat m4OPfloat m5OPfloat m6OPfloat m7OPfloat m8 )

void OPmat4Logconst OPchar* msgOPmat4 m )

OPmat4 OPmat4ReadOPstream* str )

void OPmat4WriteOPmat4 vOPstream* str )

OPmat4 OPmat4RotationBetweenOPvec3 startOPvec3 dest )

OPmat4 OPmat4RotationNormalOPvec3 normal )

OPmat4 OPmat4RotationNormal2OPvec3 normal )

OPmat4 OPmat4RemoveScaleOPmat4 a )

OPvec3 OPmat4EulorOPmat4 a )

OPmat4 OPmat4OrthoOPfloat leftOPfloat rightOPfloat bottomOPfloat topOPfloat zNearOPfloat zFar )

OPmat4 OPmat4LookAtOPvec3 eyeOPvec3 atOPvec3 up )

OPmat4 OPmat4PerspectiveOPfloat fovyOPfloat aspectOPfloat nearValOPfloat farVal )

OPint OPmat4InverseOPmat4* dstOPmat4 a )

OPmat4 OPmat4InterpolateOPmat4 aOPmat4 bOPfloat percent )

Structs


Data Structure 4 * 4 = 16 floats
32 bit = 16 * 32 = 512 bits or 64 bytes
64 bit = 16 * 64 = 1024 bits or 128 bytes

OPmat4

cols

OPquat.h Math\include\OPquat.h

Variables


const OPquat OPQUAT_IDENTITY

Functions


OPquat OPquatCreateOPfloat xOPfloat yOPfloat zOPfloat w )

OPquat OPquatCreateOPvec3 axisOPfloat w )

OPquat OPquatAddOPquat aOPquat b )

OPquat OPquatSubOPquat aOPquat b )

OPquat OPquatMulOPquat aOPquat b )

OPquat OPquatSclOPquat aOPfloat s )

OPquat OPquatConjOPquat a )

OPquat OPquatNormOPquat a )

OPfloat OPquatLenOPquat a )

OPfloat OPquatDotOPquat aOPquat b )

OPfloat OPquatAngularDifOPquat aOPquat b )

OPquat OPquatCreateRotOPvec3 axisOPfloat angle )

OPquat OPquatCreateLookAtOPvec3 eyeOPvec3 target )

OPvec3 OPquatRotOPquat qOPvec3 v )

OPvec3 OPquatForwardOPquat a )

OPvec3 OPquatUpOPquat a )

OPvec3 OPquatRightOPquat a )

OPquat OPquatRotationBetweenOPvec3 startOPvec3 dest )

OPvec3 OPvec3OrthogonalOPvec3 v )

OPquat OPquatRotationBetween2OPvec3 startOPvec3 dest )

OPquat OPquatRotationBetween3OPvec3 startOPvec3 dest )

OPquat OPquatRotationBetween4OPvec3 fromOPvec3 to )

OPquat OPquatRotationBetween5OPvec3 normal )

OPquat OPquatLerpOPquat aOPquat bOPfloat p )

Structs


OPray2D.h Math\include\OPray2D.h

Structs


OPray2D

OPvec2 position
OPvec2 direction

OPray3D.h Math\include\OPray3D.h

Functions


OPint OPplane3DIntersectsOPplane3D planeOPray3D rayOPvec3* position )

Structs


OPray3D

OPvec3 position
OPvec3 direction

OPplane3D

OPvec3 position
OPvec3 normal

OPtriangle.h Math\include\OPtriangle.h

Typedefs


OPtriangle OPtriangle

Functions


i8 OPtriangleRayIntersectOPtriangle* triangleOPray3D* rayOPvec3* hit )

Structs


OPtriangle

OPvec3 pointOne
OPvec3 pointTwo
OPvec3 pointThree

OPtween.h Math\include\OPtween.h

Functions


Tweening Function : y = x

OPfloat OPtween_linearOPfloat p )

Tweening Function : y = x^2

OPfloat OPtween_quadraticEaseInOPfloat p )

Tweening Function : y = -x^2 + 2x

OPfloat OPtween_quadraticEaseOutOPfloat p )

Tweening Function :
y = (1/2)((2x)^2) ; [0, 0.5)
y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1]

OPfloat OPtween_quadraticEaseInOutOPfloat p )

Tweening Function : y = x^3

OPfloat OPtween_cubicEaseInOPfloat p )

Tweening Function : y = (x - 1)^3 + 1

OPfloat OPtween_cubicEaseOutOPfloat p )

Tweening Function :
y = (1/2)((2x)^3) ; [0, 0.5)
y = (1/2)((2x-2)^3 + 2) ; [0.5, 1]

OPfloat OPtween_cubicEaseInOutOPfloat p )

Tweening Function : y = x^4

OPfloat OPtween_quarticEaseInOPfloat p )

Tweening Function : y = 1 - (x - 1)^4

OPfloat OPtween_quarticEaseOutOPfloat p )

Tweening Function :
y = (1/2)((2x)^4) ; [0, 0.5)
y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1]

OPfloat OPtween_quarticEaseInOutOPfloat p )

Tweening Function : y = x^5

OPfloat OPtween_quinticEaseInOPfloat p )

Tweening Function : y = (x - 1)^5 + 1

OPfloat OPtween_quinticEaseOutOPfloat p )

Tweening Function :
y = (1/2)((2x)^5) ; [0, 0.5)
y = (1/2)((2x-2)^5 + 2) ; [0.5, 1]

OPfloat OPtween_quinticEaseInOutOPfloat p )

Tweening Function : quarter cycle sin(x)

OPfloat OPtween_sineEaseInOPfloat p )

Tweening Function : quarter cycle offset sin(x)

OPfloat OPtween_sineEaseOutOPfloat p )

Tweening Function : half sine(x)

OPfloat OPtween_sineEaseInOutOPfloat p )

Tweening Function : shifted quadrant IV of unit circle

OPfloat OPtween_circularEaseInOPfloat p )

Tweening Function : shifted quadrant II of unit circle

OPfloat OPtween_circularEaseOutOPfloat p )

Tweening Function :
y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5)
y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1]

OPfloat OPtween_circularEaseInOutOPfloat p )

Tweening Function : y = 2^(10(x - 1))

OPfloat OPtween_exponentialEaseInOPfloat p )

Tweening Function : y = -2^(-10x) + 1

OPfloat OPtween_exponentialEaseOutOPfloat p )

Tweening Function :
y = (1/2)2^(10(2x - 1)) ; [0,0.5)
y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1]

OPfloat OPtween_exponentialEaseInOutOPfloat p )

Tweening Function : y = sin(13pi/2*x)*pow(2, 10 * (x - 1))

OPfloat OPtween_elasticEaseInOPfloat p )

Tweening Function : y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1

OPfloat OPtween_elasticEaseOutOPfloat p )

Tweening Function :
y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5)
y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1]

OPfloat OPtween_elasticEaseInOutOPfloat p )

Tweening Function : y = x^3-x*sin(x*pi)

OPfloat OPtween_backEaseInOPfloat p )

Tweening Function : y = 1-((1-x)^3-(1-x)*sin((1-x)*pi))

OPfloat OPtween_backEaseOutOPfloat p )

Tweening Function :
y = (1/2)*((2x)^3-(2x)*sin(2*x*pi)) ; [0, 0.5)
y = (1/2)*(1-((1-x)^3-(1-x)*sin((1-x)*pi))+1) ; [0.5, 1]

OPfloat OPtween_backEaseInOutOPfloat p )

Tween Function : Bounce at Hard Preset Points

OPfloat OPtween_bounceEaseOutOPfloat p )

Tween Function : Bounce Backwards at Hard Preset Points

OPfloat OPtween_bounceEaseInOPfloat p )

Tween Function : Bounce at Hard Preset Points

OPfloat OPtween_bounceEaseInOutOPfloat p )

OPvec2.h Math\include\OPvec2.h

Variables


const OPvec2 OPVEC2_ZERO

const OPvec2 OPVEC2_ONE

Typedefs


OPvec2 OPvec2

Functions


void OPvec2AddOPvec2* dstOPvec2* aOPvec2* b )

void OPvec2SubOPvec2* dstOPvec2* aOPvec2* b )

void OPvec2MulOPvec2* dstOPvec2* aOPvec2* b )

void OPvec2SclOPvec2* dstOPvec2* aOPfloat s )

void OPvec2DivOPvec2* dstOPvec2* aOPvec2* b )

void OPvec2DivOPvec2* dstOPvec2* aOPfloat b )

___ _ _ _ _ _ _ _ _ _
| __| _ _ _ __| |_(_)___ _ _ __ _| | /_\ _ _(_) |_| |_ _ __ ___| |_(_)__
| _| || | ' \/ _| _| / _ \ ' \/ _` | | / _ \| '_| | _| ' \| ' \/ -_) _| / _|
|_| \_,_|_||_\__|\__|_\___/_||_\__,_|_| /_/ \_\_| |_|\__|_||_|_|_|_\___|\__|_\__|

OPfloat OPvec2DotOPvec2 aOPvec2 b )

OPfloat OPvec2CrossOPvec2 aOPvec2 b )

OPfloat OPvec2LenOPvec2 v )

OPvec2 OPvec2NormOPvec2 a )

OPvec2 OPvec2PerpOPvec2 a )

OPfloat OPvec2DistOPvec2 aOPvec2 b )

OPvec2 OPvec2ReflectOPvec2 horizonOPvec2 v )

OPfloat OPvec2AngleOPvec2 aOPvec2 b )

OPvec2 OPvec2ReadOPstream* str )

OPvec2 OPvec2RandNorm )

void OPvec2WriteOPvec2 vOPstream* str )

void OPvec2Logconst OPchar* mOPvec2 v )

Structs


OPvec2

OPvec3.h Math\include\OPvec3.h

Variables


const OPvec3 OPVEC3_ZERO

const OPvec3 OPVEC3_ONE

const OPvec3 OPVEC3_UP

const OPvec3 OPVEC3_LEFT

const OPvec3 OPVEC3_FORWARD

const OPvec3 OPVEC3_BACKWARD

Functions


OPvec3 OPvec3CreateOPfloat xOPfloat yOPfloat z )

void OPvec3AddOPvec3* dstOPvec3* aOPvec3* b )

void OPvec3SubOPvec3* dstOPvec3* aOPvec3* b )

void OPvec3MulOPvec3* dstOPvec3* aOPvec3* b )

void OPvec3SclOPvec3* dstOPvec3* aOPfloat s )

void OPvec3DivOPvec3* dstOPvec3* aOPvec3* b )

void OPvec3DivOPvec3* dstOPvec3* aOPfloat b )

OPfloat OPvec3AngleToTargetOPvec3 posOPvec3 facingOPvec3 target )

OPvec3 OPvec3CreateOPvec2 xyOPfloat z )

OPvec3 OPvec3CreateOPfloat x )

___ _ _ _ _ _ _ _ _ _
| __| _ _ _ __| |_(_)___ _ _ __ _| | /_\ _ _(_) |_| |_ _ __ ___| |_(_)__
| _| || | ' \/ _| _| / _ \ ' \/ _` | | / _ \| '_| | _| ' \| ' \/ -_) _| / _|
|_| \_,_|_||_\__|\__|_\___/_||_\__,_|_| /_/ \_\_| |_|\__|_||_|_|_|_\___|\__|_\__|

OPfloat OPvec3DotOPvec3 aOPvec3 b )

OPvec3 OPvec3CrossOPvec3 aOPvec3 b )

OPfloat OPvec3LenOPvec3 v )

OPfloat OPvec3DistOPvec3 aOPvec3 b )

OPfloat OPvec3DistSquareOPvec3 aOPvec3 b )

OPfloat OPvec3AngleOPvec3 aOPvec3 b )

OPvec3 OPvec3ReflectOPvec3 vOPvec3 n )

OPvec3 OPvec3NormOPvec3 v )

OPvec3 OPvec3AbsOPvec3 v )

OPvec3 OPvec3ReadOPstream* str )

void OPvec3WriteOPvec3 vOPstream* str )

OPvec3 OPvec3RandNorm )

void OPvec3Logconst OPchar* mOPvec3 v )

OPvec3 OPvec3TweenOPvec3 aOPvec3 bOPfloat delta )

Structs


OPvec3

OPmat4

OPvec4.h Math\include\OPvec4.h

Variables


const OPvec4 OPVEC4_ZERO

const OPvec4 OPVEC4_ONE

Functions


OPvec4 OPvec4CreateOPfloat xOPfloat yOPfloat zOPfloat w )

void OPvec4AddOPvec4* dstOPvec4* aOPvec4* b )

void OPvec4SubOPvec4* dstOPvec4* aOPvec4* b )

void OPvec4MulOPvec4* dstOPvec4* aOPvec4* b )

void OPvec4SclOPvec4* dstOPvec4* aOPfloat s )

void OPvec4DivOPvec4* dstOPvec4* aOPvec4* b )

void OPvec4DivOPvec4* dstOPvec4* aOPfloat b )

OPvec4 OPvec4CreateOPfloat x )

OPvec4 OPvec4CreateOPvec3 xyzOPfloat w )

OPvec4 OPvec4NormOPvec4 a )

OPfloat OPvec4DotOPvec4 aOPvec4 b )

OPfloat OPvec4LenOPvec4 a )

OPfloat OPvec4DistOPvec4 aOPvec4 b )

OPvec4 OPvec4ReadOPstream* str )

void OPvec4WriteOPvec4 vOPstream* str )

OPvec4 OPvec4randNorm )

void OPvec4Logconst OPchar* mOPvec4 v )

Structs


OPvec4

Solvers.h Math\include\Solvers.h

Functions


OPlineLineInter2() - Computes the interesction point of two 2D-line
segments.

OPint OPlineLineInter2OPvec2* AOPvec2* BOPvec2* COPvec2* DOPvec2* intersect )

OPrayLineInter2() - Computes the interesction point of a 2D-line
segment and a 2D-ray.

OPint OPrayLineInter2OPvec2* OOPvec2* DOPvec2* AOPvec2* BOPvec2* intersect )

OPlineCircleInter2() - Computes the interesction point of a 2D-line
segment and a circle.

OPint OPlineCircleInter2OPvec2* AOPvec2* BOPvec2* CirclePosOPfloat radSqrOPvec2* intersection )

OPphysics.h Performance\include\OPphysics.h

Functions


void OPphysicsAddTorqueOPphysicsDynamic* dynamicf32 xf32 yf32 z )

void OPphysicsSetAngularVelocityOPphysicsDynamic* dynamicf32 xf32 yf32 z )

void* OPphysicsCreatePlaneOPphysicsScene* scene )

void OPphysicsStepOPphysicsScene* sceneui64 elapsed )

OPphysicsDynamic* OPphysicsCreateBoxDynamicOPphysicsScene* scenef32 xf32 yf32 zf32 sxf32 syf32 sz )

void OPphysicsGetTransformOPphysicsActor* actorOPmat4* mat )

void OPphysicsDestroyOPphysicsScene* scene )

OPphysicsScene* OPphysicsCreateScene )

void OPphysicsSetLinearVelocityOPphysicsDynamic* dynamicf32 xf32 yf32 z )

void OPphysicsAddForceOPphysicsDynamic* dynamicf32 xf32 yf32 z )

OPphysicsDynamic* OPphysicsCreateSphereDynamicOPphysicsScene* scenef32 xf32 yf32 zf32 s )

OPphysicsStatic* OPphysicsCreateSphereStaticOPphysicsScene* scenef32 xf32 yf32 zf32 s )

OPphysicsStatic* OPphysicsCreateBoxStaticOPphysicsScene* scenef32 xf32 yf32 zf32 sxf32 syf32 sz )

void OPphysicsShutdown )

void OPphysicsInit )

Structs


OPphysicsScene

void* scene
ui64 elapsed

OPphysicsActor

OPphysicsStatic

OPphysicsDynamic

OPthread.h Performance\include\OPthread.h

Functions


OPthread OPthreadStartvoid*() functionvoid* params )

OPint OPthreadStopvoid* retval )

OPint OPthreadJoinOPthread* thread )

OPmutex OPmutexCreate )

OPint OPmutexLockOPmutex* mutex )

OPint OPmutexUnlockOPmutex* mutex )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPthread

OPint Status
HANDLE Thread
DWORD ThreadId
void* Return

OPmutex

HANDLE Mutex

OPaudio.h Human\include\Audio\OPaudio.h

Variables


OPmutex OPAUD_CURR_MUTEX

Functions


____ _____ _ _ ______ _ _
/ __ \| __ \ | (_) | ____| | | (_)
| | | | |__) |_ _ _ _ __| |_ ___ | |__ _ _ _ __ ___| |_ _ ___ _ __ ___
| | | | ___/ _` | | | |/ _` | |/ _ \ | __| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| |__| | | | (_| | |_| | (_| | | (_) | | | | |_| | | | | (__| |_| | (_) | | | \__ \
\____/|_| \__,_|\__,_|\__,_|_|\___/ |_| \__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPint OPaudInit )

OPvec3 OPaudEarPositionOPvec3* pos )

OPvec3 OPaudEarVelocityOPvec3* pos )

OPvec3 OPaudEarForwardUpOPfloat* pos )

OPaudioEmitter.h Human\include\Audio\OPaudioEmitter.h

Variables


_____ _ _ _
/ ____| | | | | |
| | __| | ___ | |__ __ _| |___
| | |_ | |/ _ \| '_ \ / _` | / __|
| |__| | | (_) | |_) | (_| | \__ \
\_____|_|\___/|_.__/ \__,_|_|___/

OPaudioEmitter* OPAUD_CURR_EMITTER

OPentHeap OPAUD_REG_EMITTERS

OPthread OPAUD_UPDATE_THREAD

Typedefs


OPaudioEmitter OPaudioEmitter

Functions


_ _ ______ _ _ _ ______ _ _
/\ | (_) | ____| (_) | | | | ____| | | (_)
/ \ _ _ __| |_ ___ | |__ _ __ ___ _| |_| |_ ___ _ __ | |__ _ _ _ __ ___| |_ _ ___ _ __ ___
/ /\ \| | | |/ _` | |/ _ \| __| | '_ ` _ \| | __| __/ _ \ '__| | __| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
/ ____ \ |_| | (_| | | (_) | |____| | | | | | | |_| || __/ | | | | |_| | | | | (__| |_| | (_) | | | \__ \
/_/ \_\__,_|\__,_|_|\___/|______|_| |_| |_|_|\__|\__\___|_| |_| \__,_|_| |_|\___|\__|_|\___/|_| |_|___/

void OPaudInitThreadOPint maxEmitters )

OPaudioEmitter* OPaudCreateEmitterOPaudioSource* srcOPint flags )

void OPaudDestroyEmitterOPaudioEmitter* emitter )

OPaudioEmitter* OPaudGetEmitterOPaudioSource* srcOPint flags )

void OPaudRecycleEmitterOPaudioEmitter* emitter )

void OPaudEnqueueBufferui8* bufferOPint length )

void OPaudPlay )

void OPaudPause )

void OPaudStop )

void OPaudSafePlayOPaudioEmitter* emitter )

void OPaudSafePauseOPaudioEmitter* emitter )

void OPaudSafeStopOPaudioEmitter* emitter )

OPint OPaudUpdatevoid() Proc )

OPint OPaudSafeUpdateOPaudioEmitter* emittervoid() Proc )

OPint OPaudProcOPaudioEmitter* emittervoid() Proc )

void OPaudPositionOPaudioEmitter* emitterOPvec3* position )

void OPaudVelocityOPaudioEmitter* emitterOPvec3* velocity )

void OPaudVolumeOPaudioEmitter* emitterOPfloat gain )

void OPaudPitchOPaudioEmitter* emitterOPfloat pitch )

void OPaudProcessOPaudioEmitter* emitOPint length )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPaudioEmitter

OPaudioPlayer.h Human\include\Audio\OPaudioPlayer.h

Variables


_____ _ _ _
/ ____| | | | | |
| | __| | ___ | |__ __ _| |___
| | |_ | |/ _ \| '_ \ / _` | / __|
| |__| | | (_) | |_) | (_| | \__ \
\_____|_|\___/|_.__/ \__,_|_|___/

OPaudioPlayer* OPAUD_CURR_PLAYER

Typedefs


OPaudioPlayer OPaudioPlayer

Functions


______ _ _
____| | | (_)
|__ _ _ _ __ ___| |_ _ ___ _ __ ___
__| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | |_| | | | | (__| |_| | (_) | | | \__ \
\__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPaudioPlayer OPaudPlayerCreateOPaudioSource* srcOPint soundsOPint looping )

void OPaudPlayerDestroyOPaudioPlayer* player )

void OPaudPlayerPlay )

void OPaudPlayerStop )

void OPaudPlayerPause )

void OPaudPlayerUpdatevoid() Proc )

void OPaudPlayerPositionOPvec3* position )

void OPaudPlayerVelocityOPvec3* velocity )

void OPaudPlayerVolumeOPfloat gain )

void OPaudPlayerPitchOPfloat pitch )

Structs


OPaudioPlayer

OPint Count
OPint Current

OPaudioSource.h Human\include\Audio\OPaudioSource.h

Typedefs


OPaudioDescription OPaudioDescription

sOPaudioSource OPaudioSource

Functions


____ _ ______
/ __ \ (_) | ____|
| | | |_ __ ___ _ __ _ _ __ __ _ | |__ _ _ _ __ ___ ___
| | | | '_ \ / _ \ '_ \| | '_ \ / _` | | __| | | | '_ \ / __/ __|
| |__| | |_) | __/ | | | | | | | (_| | | | | |_| | | | | (__\__ \_
\____/| .__/ \___|_| |_|_|_| |_|\__, | |_| \__,_|_| |_|\___|___(_)
| | __/ |
|_| |___/

OPint OPaudOpenWaveconst OPchar* filenameOPaudioSource* source )

OPint OPaudOpenOggconst OPchar* filenameOPaudioSource* source )

_____ _ _ ______
/ ____| | (_) | ____|
| | | | ___ ___ _ _ __ __ _ | |__ _ _ _ __ ___ ___
| | | |/ _ \/ __| | '_ \ / _` | | __| | | | '_ \ / __/ __|
| |____| | (_) \__ \ | | | | (_| | | | | |_| | | | | (__\__ \_
\_____|_|\___/|___/_|_| |_|\__, | |_| \__,_|_| |_|\___|___(_)
__/ |
|___/

OPint OPaudCloseWaveOPaudioSource* src )

OPint OPaudCloseOggOPaudioSource* src )

_____ _ _ ______ _ _
| __ \ | (_) | ____| | | (_)
| |__) |___ __ _ __| |_ _ __ __ _ | |__ _ _ _ __ ___| |_ _ ___ _ __ ___
| _ // _ \/ _` |/ _` | | '_ \ / _` | | __| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | \ \ __/ (_| | (_| | | | | | (_| | | | | |_| | | | | (__| |_| | (_) | | | \__ \
|_| \_\___|\__,_|\__,_|_|_| |_|\__, | |_| \__,_|_| |_|\___|\__|_|\___/|_| |_|___/
__/ |
|___/

OPint OPaudReadWaveOPaudioSource* srcui64* positionui8* destui32 len )

OPint OPaudReadOggOPaudioSource* srcui64* positionui8* destui32 len )

_____ _ _ ______ _ _
/ ____| | | (_) | ____| | | (_)
| (___ ___ ___| | ___ _ __ __ _ | |__ _ _ _ __ ___| |_ _ ___ _ __ ___
\___ \ / _ \/ _ \ |/ / | '_ \ / _` | | __| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
____) | __/ __/ <| | | | | (_| | | | | |_| | | | | (__| |_| | (_) | | | \__ \
|_____/ \___|\___|_|\_\_|_| |_|\__, | |_| \__,_|_| |_|\___|\__|_|\___/|_| |_|___/
__/ |
|___/

OPint OPaudSeekWaveOPaudioSource* srcui64* pos )

OPint OPaudSeekOggOPaudioSource* srcui64* pos )

Structs


OPaudioDescription

ui64 Length
ui32 SamplesPerSecond
ui16 BitsPerSample
ui16 Channels
ui16 Format

sOPaudioSource

void* DataSource

OPgamePadAxes.h Human\include\Input\Enums\OPgamePadAxes.h

OPgamePadButtons.h Human\include\Input\Enums\OPgamePadButtons.h

OPgamePadIndices.h Human\include\Input\Enums\OPgamePadIndices.h

OPkeyboardKeys.h Human\include\Input\Enums\OPkeyboardKeys.h

Variables


OPkeyboardMapping

OPmouseKeys.h Human\include\Input\Enums\OPmouseKeys.h

Variables


OPmouseMapping

OPgamePad.h Human\include\Input\OPgamePad.h

Variables


OPgamePadSystem OPGAMEPADSYSTEM

Typedefs


OPgamePad OPgamePad

OPgamePadSystem OPgamePadSystem

Functions


OPgamePad* OPgamePadGet index )

OPgamePad* OPgamePadGeti8 index )

Structs


OPgamePad

i8 controllerIndex
axes
prevAxes
OPfloat deadzone
bool connected
buttons
prevButtons

OPgamePadSystem

gamePads

OPgamePadButtons.h Human\include\Input\OPgamePadButtons.h

Typedefs


OPgamePadButton

OPgamePadAxes

OPgamePadIndices

OPinputRecord.h Human\include\Input\OPinputRecord.h

Typedefs


OPinputRecordFrame OPinputRecordFrame

OPinputRecordMemoryBase OPinputRecordMemoryBase

Functions


void OPinputRecordBeginOPtimer* startOPinputRecordMemoryBase* memoryMapsui16 memoryMapCount )

OPint OPinputRecordIsRunning )

OPint OPinputRecordIsRecording )

OPint OPinputRecordIsPlayingBack )

void OPinputRecordUpdateOPtimer* timer )

void OPinputRecordPlayback )

void OPinputRecordEnd )

Structs


OPinputRecordFrame

ui64 timeOffset
OPkeyboardState keyboardState

OPinputRecordMemoryBase

void* Memory
OPint MemorySize

OPkeyboard.h Human\include\Input\OPkeyboard.h

Variables


void() OPKEYBOARD_STREAM

Typedefs


OPkeyboardState OPkeyboardState

Functions


void OPkeyboardUpdateOPtimer* timer )

void OPkeyboardUpdatePostOPtimer* timer )

OPint OPkeyboardIsDown key )

OPint OPkeyboardIsUp key )

OPint OPkeyboardWasPressed key )

OPint OPkeyboardWasReleased key )

OPint OPkeyboardAnyInputIsDown )

void OPkeyboardKeyOPuint codepoint )

Structs


OPkeyboardState

keys
prevKeys

OPmouse.h Human\include\Input\OPmouse.h

Variables


Typedefs


OPmouseState OPmouseState

Functions


void OPmouseUpdate )

i32 OPmousePositionX )

i32 OPmousePositionY )

i32 OPmousePositionMovedX )

i32 OPmousePositionMovedY )

i32 OPmouseWheel )

i32 OPmouseWheelMoved )

OPint OPmouseIsDown key )

OPint OPmouseIsUp key )

OPint OPmouseWasPressed key )

OPint OPmouseWasReleased key )

void OPmouseSetPositioni32 xi32 y )

void OPmouseSetPositionScreenCenter )

OPint OPmouseAnyInputIsDown )

Structs


OPmouseState

i32 updatedWheel
i32 wheel
i32 prevWheel
d64 positionX
d64 positionY
d64 prevPositionX
d64 prevPositionY
keys
prevKeys

OPmyo.h Human\include\Input\OPmyo.h

Typedefs


OPmyoPoses

OPmyoVibrations

Functions


void OPmyoConnect )

void OPmyoUpdateOPtimer* timer )

f32 OPmyoRoll )

f32 OPmyoPitch )

f32 OPmyoYaw )

f32 OPmyoRollChange )

f32 OPmyoPitchChange )

f32 OPmyoYawChange )

void OPmyoSetVibrationOPmyoVibrations vibration )

OPint OPmyoPoseNowOPmyoPoses pose )

OPint OPmyoPoseWasOPmyoPoses pose )

OPint OPmyoPoseIsOPmyoPoses pose )

OPint OPmyoLock )

OPint OPmyoUnlockOPint state )

OPoculus.h Human\include\Input\OPoculus.h

Variables


OPoculus OculusManager

Typedefs


OPoculus OPoculus

Functions


int OPoculusStartup )

int OPoculusInitialize )

void OPoculusDestroy )

void OPoculusUpdate )

void OPoculusBegin )

void OPoculusEnd )

Structs


OPoculus

OPtouch.h Human\include\Input\OPtouch.h

Variables


Typedefs


OPtouchState OPtouchState

Functions


void OPtouchUpdate )

f32 OPtouchPositionX )

f32 OPtouchPositionY )

f32 OPtouchPositionMovedX )

f32 OPtouchPositionMovedY )

OPint OPtouchIsDown )

OPint OPtouchIsUp )

OPint OPtouchWasPressed )

OPint OPtouchWasReleased )

OPint OPtouchAnyInputIsDown )

Structs


OPtouchState

OPint tapping
OPint prevTapping
OPint updated
f32 positionX
f32 positionY
f32 prevPositionX
f32 prevPositionY

OPcamFreeFlight.h Human\include\Rendering\Camera\OPcamFreeFlight.h

Functions


void OPcamFreeFlightInitOPcamFreeFlight* camFreeOPfloat moveSpeedOPfloat rotateSpeedOPvec3 positionOPfloat camNearOPfloat camFar )

OPcamFreeFlight* OPcamFreeCreateOPfloat moveSpeedOPfloat rotateSpeedOPvec3 positionOPfloat camNearOPfloat camFar )

void OPcamFreeFlightUpdateOPcamFreeFlight* camFreeOPtimer* timer )

void OPcamFreeFlightUpdateOPcamFreeFlight* camFree )

void OPcamFreeFlightDestroy )

void OPcamFreeFlightInitOPcamFreeFlight* camFreeOPfloat moveSpeedOPfloat rotateSpeedOPvec3 position )

OPcamFreeFlight* OPcamFreeCreateOPfloat moveSpeedOPfloat rotateSpeedOPvec3 position )

Structs


Free Flight Camera

OPcamFreeFlight

OPcam Camera
OPvec3 Rotation
OPvec3 Movement
OPfloat RotationSpeed
OPfloat MoveSpeed

OPcommandDrawIndexed.h Human\include\Rendering\Commands\OPcommandDrawIndexed.h

Typedefs


OPcommandDrawIndexed OPcommandDrawIndexed

Functions


void OPcommandDrawIndexedSetOPcommandDrawIndexed* resultOPmodel* modelOPmaterial* material )

void OPcommandDrawIndexedSetOPcommandDrawIndexed* resultOPmodel* modelOPmaterial* materialOPtexture* texture )

void OPcommandDrawIndexedSubmitOPcommandBucket* commandBucketOPmodel* modelOPmaterial* materialOPtexture* texture )

void OPcommandDrawIndexedSubmitOPcommandBucket* commandBucketOPmodelTextured* modelOPmaterial* material )

Structs


Draws a mesh that has both a vertex buffer and an index buffer

OPcommandDrawIndexed

void() dispatch
ui32 indexCount
ui32 startIndex
ui32 baseVertex
ui32 stride
OPvertexLayout* vertexLayout
OPrenderBuffer* vertexBuffer
OPrenderBuffer* indexBuffer
OPmaterial* material

OPfont.h Human\include\Rendering\Font\OPfont.h

Typedefs


OPfont OPfont

OPfontBuiltTextNode OPfontBuiltTextNode

OPfontUserTextNode OPfontUserTextNode

Functions


OPint OPfontLoadOPstream* strOPfont* data )

OPint OPfontUnloadOPfont* font )

OPfontGlyph* OPfontGetGlyphOPfont* fontOPchar charcode )

OPmesh OPfontCreateTextOPfont* fontOPchar* text )

OPfontBuiltTextNode OPfontCreatePackedTextOPfont* fontconst OPchar* text )

OPfontBuiltTextNode OPfontCreatePackedTextOPfont* fontconst OPchar* textOPfloat scale )

OPfontUserTextNode OPfontCreateUserTextOPfont* fontconst OPchar* text )

OPfontUserTextNode OPfontCreateUserTextOPfont* fontconst OPchar* textOPfloat scale )

OPvec2 OPfontGetSizeOPfont* fontconst OPchar* textOPfloat scale )

Structs


OPfont

OPint hinting
OPint outlineType
OPfloat outlineThickness
OPint filtering
lcdWeights
OPint kerning
OPfloat height
OPfloat lineGap
OPfloat ascender
OPfloat descender
OPfloat underlinePosition
OPfloat underlineThickness

OPfontBuiltTextNode

OPmeshPacked* packedMesh

OPfontUserTextNode

OPfontAtlas.h Human\include\Rendering\Font\OPfontAtlas.h

Typedefs


OPfontAtlasNode OPfontAtlasNode

OPfontAtlasRegion OPfontAtlasRegion

OPfontAtlas OPfontAtlas

Functions


OPfontAtlas* OPfontAtlasCreatei32 widthi32 heightOPint depth )

void OPfontAtlasDestroyOPfontAtlas* atlas )

void OPfontAtlasSetRegionOPfontAtlas* atlasOPint xOPint yOPint widthOPint heightui8* dataOPint stride )

OPint OPfontAtlasFitOPfontAtlas* atlasOPint indexOPint widthOPint height )

void OPfontAtlasMergeOPfontAtlas* atlas )

OPfontAtlasRegion OPfontAtlasGetRegionOPfontAtlas* atlasi32 widthi32 height )

OPtexture OPfontAtlasTextureOPfontAtlas* atlas )

void OPfontAtlasSavePNGOPfontAtlas* atlasOPchar* filename )

Structs


OPfontAtlasNode

OPfontAtlasRegion

i32 width
i32 height

OPfontAtlas

i32 width
i32 height
OPint depth
OPint used
ui8* data

OPfontGlyph.h Human\include\Rendering\Font\OPfontGlyph.h

Typedefs


OPfontGlyph OPfontGlyph

Functions


OPfontGlyph* OPfontGlyphCreate )

void OPfontGlyphDestroyOPfontGlyph* glyph )

OPfloat OPfontGlyphGetKerningOPfontGlyph* glyphOPchar charcode )

Structs


OPfontGlyph

OPchar charcode
OPint width
OPint height
OPint offsetX
OPint offsetY
OPfloat advanceX
OPfloat advanceY
OPvec4 textureCoordinates
OPvector* kerning
OPint outlineType
OPfloat outlineThickness

OPfontKerning.h Human\include\Rendering\Font\OPfontKerning.h

Typedefs


OPfontKerning OPfontKerning

Structs


OPfontKerning

OPchar charcode
OPfloat kerning

OPfontManager.h Human\include\Rendering\Font\OPfontManager.h

Variables


OPfontManager* OPFONTMANAGER_ACTIVE

OPeffect* OPFONTMANAGER_EFFECT_ACTIVE

OPeffect* OPFONTMANAGER_EFFECT2D_ACTIVE

Typedefs


OPfontTextNode OPfontTextNode

OPfontAlign

OPfontManager OPfontManager

Functions


OPfontManager* OPfontManagerCreateOPfont* font )

OPfontManager* OPfontManagerSetupconst OPchar* fontconst OPchar* textui16 count )

void OPfontManagerAddTextconst OPchar* text )

void OPfontManagerBuild )

void OPfontManagerDestroyOPfontManager* font )

void OPfontManagerSetColorOPfontManager* managerf32 rf32 gf32 bf32 a )

void OPfontManagerSetColorf32 rf32 gf32 bf32 a )

TODO: Refactor

void OPfontEffectBindOPeffect* effect )

void OPfontManagerBindOPfontManager* manager )

void OPfontManagerSetAlignOPfontManager* managerOPfontAlign align )

void OPfontManagerSetAlignOPfontAlign align )

void OPfontManagerSetColorOPfontManager* managerOPvec3 color )

void OPfontManagerSetColorOPfontManager* managerOPvec4 color )

void OPfontManagerSetColorOPfontManager* managerf32 rf32 gf32 b )

void OPfontManagerSetColorOPvec3 color )

void OPfontManagerSetColorOPvec4 color )

void OPfontManagerSetColorf32 rf32 gf32 b )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPfontTextNode

OPfontManager

OPvec4 _color
OPvector* currNodes
bool isBuilt
OPhashMap* builtNodes
OPmeshPacker meshPacker
OPint pixelated

OPfontRender.h Human\include\Rendering\Font\OPfontRender.h

Functions


void OPfontRenderBeginOPfontManager* fontManager )

void OPfontRenderEnd )

void OPfontRenderconst OPchar* textOPmat4* world )

void OPfontRenderconst OPchar* textOPmat4* worldui8 useJustWorld )

void OPfontRenderconst OPchar* textOPvec2 pos )

void OPfontColorOPvec4 color )

OPcube.h Human\include\Rendering\Primitives\OPcube.h

Functions


OPmesh OPcubeCreateOPvec3 color )

OPquad.h Human\include\Rendering\Primitives\OPquad.h

Functions


OPmesh OPquadCreate(OPint features, OPvec2 size);

OPmesh OPquadCreate )

OPmesh OPquadCreateOPfloat widthOPfloat height )

OPmesh OPquadCreateOPfloat widthOPfloat heightOPvec2 offset )

OPmesh OPquadCreateOPfloat widthOPfloat heightOPvec2 texcoordStartOPvec2 texcoordEnd )

OPmesh OPquadCreateOPfloat widthOPfloat heightOPvec2 offsetOPvec2 texcoordStartOPvec2 texcoordEnd )

OPmesh OPquadCreateZPlane )

OPmesh OPquadCreateZPlaneOPfloat widthOPfloat depth )

OPmesh OPquadCreateZPlaneOPfloat widthOPfloat depthOPvec2 texcoordStartOPvec2 texcoordEnd )

OPmeshPacked OPquadCreatePacked )

OPmesh OPquadNormCreate )

OPmeshPacked OPquadNormCreatePacked )

void OPquadDestroyOPmesh* quad )

OPsphericalCube.h Human\include\Rendering\Primitives\OPsphericalCube.h

Functions


OPsphericalCube OPsphericalCubeCreateOPimage* faces )

OPsphericalCube OPsphericalCubeCreateui16 size )

OPvec3 OPsphericalCubePositionOPvec3 pos side )

OPvec2 OPsphericalCubePlanePositionSideconst OPvec3 pos side )

OPvec2 OPsphericalCubePlanePositionconst OPvec3 pos side )

void OPsphericalCubeDestroyOPsphericalCube* sphericalCube )

Structs


OPsphericalCubeVertex

OPsphericalCube

sides

OPvertex.h Human\include\Rendering\Primitives\OPvertex.h

Typedefs


OPvertexColor OPvertexColor

OPvertexTexColor OPvertexTexColor

Structs


OPvertexColor

OPvec3 Position
OPvec3 Color

OPvertexTexColor

OPvec3 Position
OPvec2 TexCoord
OPvec3 Color

OPskeleton.h Human\include\Rendering\Skinning\OPskeleton.h

Typedefs


OPskeleton OPskeleton

Functions


OPskeleton* OPskeletonCreatei16* hierarchyOPmat4* posei32 countOPchar* names )

void OPskeletonUpdateOPskeleton* skeleton )

i16 OPskeletonGetOPskeleton* skeletonconst OPchar* name )

void OPskeletonDestroyOPskeleton* skeleton )

OPskeleton* OPskeletonCopyOPskeleton* source )

OPmat4 OPskeletonLocalOPskeleton* skeletonconst OPchar* name )

OPvec3 OPskeletonLocalTranslateOPskeleton* skeletoni16 ind )

OPvec3 OPskeletonLocalTranslateOPskeleton* skeletonconst OPchar* name )

Structs


OPskeleton

ui16 hierarchyCount
i16* hierarchy
OPchar* jointNames
OPmat4* globalPoses
OPmat4* globalInvPoses
OPmat4* localPoses
OPmat4* skinned

OPskeletonAnimation.h Human\include\Rendering\Skinning\OPskeletonAnimation.h

Typedefs


OPskeletonAnimation OPskeletonAnimation

OPskeletonAnimationEvent OPskeletonAnimationEvent

Functions


void OPskeletonAnimationInitOPskeletonAnimation* skelAnimOPint boneCountOPmat4* framesi32 count )

OPskeletonAnimation* OPskeletonAnimationCreateOPint boneCountOPmat4* framesOPuint count )

void OPskeletonAnimationUpdateOPskeletonAnimation* skelAnimOPtimer* timerOPfloat timeScale )

void OPskeletonAnimationUpdateOPskeletonAnimation* skelAnimOPtimer* timer )

void OPskeletonAnimationUpdateEventsOPskeletonAnimation* skelAnimvoid* data )

void OPskeletonAnimationApplyOPskeletonAnimation* skelAnimOPskeleton* skeleton )

void OPskeletonAnimationApplyOPskeletonAnimation* skelAnimOPskeleton* skeletoni16 fromJoint )

void OPskeletonAnimationApplyOPmat4* animationFrameOPskeleton* skeleton )

void OPskeletonAnimationApplyOPmat4* animationFrameOPskeleton* skeletoni16 fromJoint )

void OPskeletonAnimationMergeOPskeletonAnimation* skelAnim1OPskeletonAnimation* skelAnim2OPfloat merge )

void OPskeletonAnimationCombineOPskeletonAnimation* skelAnimOPskeletonAnimation* skelAnim2OPskeleton* skeletoni16 fromJoint )

void OPskeletonAnimationSetEventsOPskeletonAnimation* skelAnimOPuint framesOPskeletonAnimationEvent* events )

void OPskeletonAnimationResetOPskeletonAnimation* skelAnim )

OPskeletonAnimation* OPskeletonAnimationCopyOPskeletonAnimation* sourceOPint boneCount )

Structs


OPskeletonAnimation

OPskeleton* Skeleton
OPmat4* JointFrames
OPuint FrameCount
OPuint Frame
ui64 Elapsed
ui64 FramesPer
OPmat4* CurrentFrame
OPint BoneCount
OPint Loop
OPuint LoopsCompleted
OPuint LastFrame
OPuint EventCount

OPskeletonAnimationEvent

void() Event
OPuint Frame
OPint OnFrameChange

OPskeletonAnimationManager.h Human\include\Rendering\Skinning\OPskeletonAnimationManager.h

Typedefs


OPskeletonAnimationManager OPskeletonAnimationManager

Functions


void OPskeletonAnimationManagerInitOPskeletonAnimationManager* managerOPskeleton* skeleton )

OPskeletonAnimationManager* OPskeletonAnimationManagerCreateOPskeleton* skeleton )

void OPskeletonAnimationManagerSetOPskeletonAnimationManager* managerOPskeletonAnimation* animation )

void OPskeletonAnimationManagerMixOPskeletonAnimationManager* managerOPskeletonAnimation* animationi16 fromJoint )

void OPskeletonAnimationManagerTransitionOPskeletonAnimationManager* managerOPskeletonAnimation* animationOPfloat duration )

void OPskeletonAnimationManagerUpdateOPskeletonAnimationManager* managerOPtimer* timerOPfloat timeScale )

void OPskeletonAnimationManagerUpdateOPskeletonAnimationManager* managerOPtimer* timer )

void OPskeletonAnimationManagerDestroyOPskeletonAnimationManager* manager )

void OPskeletonAnimationManagerFreeOPskeletonAnimationManager* manager )

Structs


Mixes animations together

OPskeletonAnimationMix

animations
mergeJoints

A transition animation grouping

OPskeletonAnimationManagerTransition

OPfloat transitionTime

The manager itself, which will automatically merge and play animations appropriately

OPskeletonAnimationManager

OPskeleton* skeleton
i16 animationIndex
animations
animationJointMix
OPfloat currentTime

OPskeletonAnimationTrack.h Human\include\Rendering\Skinning\OPskeletonAnimationTrack.h

Typedefs


OPskeletonAnimationTrack OPskeletonAnimationTrack

Structs


OPskeletonAnimationTrack

OPskeletonAnimationTransition.h Human\include\Rendering\Skinning\OPskeletonAnimationTransition.h

Typedefs


OPskeletonAnimationTransition OPskeletonAnimationTransition

Functions


OPskeletonAnimationTransition OPskeletonAnimationTransitionInitOPskeletonAnimation* startOPskeletonAnimation* endOPfloat duration )

OPint OPskeletonAnimationTransitionUpdateOPskeletonAnimationTransition* transitionOPtimer* timer )

void OPskeletonAnimationTransitionApplyOPskeletonAnimationTransition* transitionOPskeleton* skeleton )

void OPskeletonAnimationTransitionResetOPskeletonAnimationTransition* transition )

Structs


OPskeletonAnimationTransition

OPspriteSheet.h Human\include\Rendering\Sprite\OPspriteSheet.h

Typedefs


OPspriteSheet OPspriteSheet

OPspriteFrame OPspriteFrame

OPsprite OPsprite

Functions


______ _ _
| ____| | | (_)
| |__ _ _ _ __ ___| |_ _ ___ _ __ ___
| __| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | | |_| | | | | (__| |_| | (_) | | | \__ \
|_| \__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPint OPspriteSheetLoadOPstream* strOPspriteSheet* ss )

OPint OPspriteSheetUnloadvoid* ss )

OPvec2 OPspriteCurrentFrameSizeOPsprite* sprite )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/
Used to maintain and clean up sprites that
have been stored in the manager

OPspriteSheet

OPint Width
OPint Height
OPint Sprites

Actual sprite offset data

OPspriteFrame

OPvec2 Offset

Sprite animation frames

OPsprite

OPint FrameCount
OPint Frame
OPfloat Elapsed

OPimgui.h Human\include\Rendering\UI\OPimgui.h

Variables


OPimgui* OPIMGUI_ACTIVE

Typedefs


OPimguiVertex OPimguiVertex

OPimgui OPimgui

Functions


OPimgui* OPimguiCreateOPeffect* effectOPfontManager* fontManager )

void OPimguiBegin )

void OPimguiEnd )

OPint OPimguiRadioOPvec2 posOPvec2 sizeOPvec4 colorOPvec4 selected )

OPint OPimguiCheckboxOPint stateOPvec2 posOPvec2 sizeOPvec4 colorOPvec4 selectedOPvec4 hover )

OPint OPimguiButtonOPvec2 posconst OPchar* textOPvec4 colorOPvec4 selectedOPvec4 hover )

OPint OPimguiTextboxOPvec2 posconst OPchar* textconst OPchar* placeholderOPint activeOPint showCursor )

void OPimguiLabelOPvec2 posconst OPchar* text )

void OPimguiLabelOPvec2 posOPvec2 sizeconst OPchar* textOPvec4 bgOPvec4 colorOPint fill )

void OPimguiLabelOPvec2 posOPvec2 sizeconst OPchar* textOPvec4 color )

OPint OPimguiCheckboxOPint stateOPvec2 posOPvec2 size )

OPint OPimguiButtonOPvec2 posconst OPchar* text )

void OPimguiBindOPimgui* imgui )

Structs


OPimguiVertex

OPvec3 Position
OPvec4 Color

OPimgui

OPvec4 primaryColor
OPvec4 secondaryColor
OPvec4 hoverColor
OPvec4 borderColor
OPvec4 padding
OPvec4 margin
OPuint borderSize
OPfontManager* fontManager

OPattributes.h Human\include\Rendering\OPattributes.h

OPcam.h Human\include\Rendering\OPcam.h

Typedefs


OPcam OPcam

Functions


OPcam OPcamPerspOPvec3 positionOPvec3 targetOPvec3 upOPfloat zNearOPfloat zFarOPfloat fovOPfloat aspect )

OPcam OPcamOrthoOPvec3 positionOPvec3 targetOPvec3 upOPfloat zNearOPfloat zFarOPfloat leftOPfloat rightOPfloat bottomOPfloat top )

OPray3D OPcamUnprojectOPcam* cami32 xi32 y )

void OPcamUpdateViewOPcam* cam )

void OPcamUpdateProjOPcam* cam )

void OPcamUpdateOPcam* cam )

void OPcamBindOPcam* camera )

Structs


OPcam

OPcommandBucket.h Human\include\Rendering\OPcommandBucket.h

Typedefs


OPcommandDrawCommand OPcommandDrawCommand

OPcommandBucketKey OPcommandBucketKey

OPcommandBucket OPcommandBucket

Functions


void OPcommandBucketInitOPcommandBucket* commandBucketOPuint bucketSizeOPcam* camera )

void OPcommandBucketInitOPcommandBucket* commandBucketOPuint bucketSizeOPcam* cameraOPallocator* allocator )

OPcommandBucket* OPcommandBucketCreateOPuint bucketSizeOPcam* camera )

OPcommandBucket* OPcommandBucketCreateOPuint bucketSizeOPcam* cameraOPallocator* allocator )

void OPcommandBucketFlushOPcommandBucket* commandBucket )

void OPcommandBucketSortKeysOPcommandBucket* commandBucket )

void OPcommandBucketSubmitOPcommandBucket* commandBucketui64 keyvoid() dispatchvoid* datavoid* next )

void OPcommandBucketSubmitOPcommandBucket* commandBucketui64 keyvoid() dispatchvoid* data )

void OPcommandBucketRenderOPcommandBucket* commandBucket )

Helper draw commands already in the engine
Users will be able to define their own, just won't be a helper function
in the struct itself unless they modify the OPengine source itself

OPcommandDrawIndexed* OPcommandBucketCreateDrawIndexedOPcommandBucket* commandBucket )

Structs


OPcommandDrawCommand

void* next
void* data
void() dispatch

A key for the OPcommandBucket that will be sorted for rendering order

OPcommandBucketKey

OPcommandBucket

OPuint bucketSize
OPallocator* allocator
ui32 keyIndex
OPcam* camera
frameBuffer
i8 controlOfAllocator

OPeffect.h Human\include\Rendering\OPeffect.h

Variables


OPeffect* OPEFFECT_ACTIVE

Typedefs


OPeffect OPeffect

Functions


OPeffect OPeffectCreateOPshader vertOPshader fragOPshaderAttribute* AttributesOPint AttribCountconst OPchar* Nameui32 stride )

OPeffect OPeffectCreateOPshader vertOPshader fragOPshaderAttribute* AttributesOPint AttribCountconst OPchar* Name )

OPeffect OPeffectGenconst OPchar* vertconst OPchar* fragui32 attrsconst OPchar* Nameui32 stride )

OPeffect OPeffectGenconst OPchar* vertconst OPchar* fragOPvertexLayout* layout )

OPint OPeffectUnloadOPeffect* effect )

void OPeffectUseOPeffect* effect )

OPint OPeffectBindOPeffect* effectui32 stride )

void* __builtin_memcpyvoid* const void* unsigned int  )

OPint OPeffectBindOPeffect* effect )

ui32 OPeffectGetParamconst OPchar* parameterName )

OPuint OPeffectParamconst OPchar* param )

void OPeffectParamfconst OPchar* paramOPfloat f )

void OPeffectParamfOPint locOPfloat f )

void OPeffectParamfvconst OPchar* paramOPint countOPfloat* f )

void OPeffectParamVec2const OPchar* paramOPvec2* f )

void OPeffectParamVec3const OPchar* paramOPvec3* f )

void OPeffectParamVec4const OPchar* paramOPvec4* f )

void OPeffectParamVec2vconst OPchar* paramOPint countOPvec2* f )

void OPeffectParamVec3vconst OPchar* paramOPint countOPvec3* f )

void OPeffectParamVec4vconst OPchar* paramOPint countOPvec4* f )

void OPeffectParamiconst OPchar* paramOPint i )

void OPeffectParamBindTexconst OPchar* paramOPtexture* tex )

void OPeffectParamBindTexi32 locOPtexture* tex )

void OPeffectParamBindCubeMapconst OPchar* paramOPtextureCube* tex )

void OPeffectParamBindCubeMapi32 locOPtextureCube* tex )

void OPeffectParamivconst OPchar* paramOPint counti32* i )

void OPeffectParamMat4const OPchar* paramOPmat4* matrices )

void OPeffectParamMat4i32 locOPmat4* matrices )

void OPeffectParamMat4vconst OPchar* paramOPuint countOPmat4* matrices )

void OPeffectParami32 locf32 f )

void OPeffectParamconst OPchar* paramf32 f )

void OPeffectParami32 locOPmat4 matrix )

void OPeffectParamconst OPchar* paramOPmat4 matrix )

void OPeffectParamconst OPchar* paramOPuint countOPmat4* matrices )

void OPeffectParamconst OPchar* paramOPvec3 f )

void OPeffectParamconst OPchar* paramOPuint countOPvec3* f )

void OPeffectParamconst OPchar* paramOPvec4 f )

void OPeffectParamconst OPchar* paramOPuint countOPvec4* f )

void OPeffectParamconst OPchar* paramOPtexture* tex )

void OPeffectParamconst OPchar* paramOPtextureCube* tex )

void OPeffectParamOPcam* camera )

Structs


OPeffect

OPshader Vertex
OPshader Fragment
ui32 ProgramHandle
ui32 Stride
OPhashMap* Parameters
OPlist* Attributes
Name

OPframeBuffer.h Human\include\Rendering\OPframeBuffer.h

Variables


_____ _ _ _
/ ____| | | | | |
| | __| | ___ | |__ __ _| |___
| | |_ | |/ _ \| '_ \ / _` | / __|
| |__| | | (_) | |_) | (_| | \__ \
\_____|_|\___/|_.__/ \__,_|_|___/

OPframeBuffer* OPRENDER_CURR_FRAMEBUFFER

Typedefs


OPframeBuffer OPframeBuffer

Functions


______ _ _
____| | | (_)
|__ _ _ _ __ ___| |_ _ ___ _ __ ___
__| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | |_| | | | | (__| |_| | (_) | | | \__ \
\__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPframeBuffer OPframeBufferCreateShadowui32 widthui32 height )

OPframeBuffer OPframeBufferCreateDepthOPtextureDescription desc )

OPframeBuffer OPframeBufferCreateOPtextureDescription desc )

OPframeBuffer OPframeBufferCreateVRui32 widthui32 height )

void OPframeBufferDestroyOPframeBuffer* fb )

void OPframeBufferAttachOPtexture* textureui16 pos )

void OPframeBufferBindOPframeBuffer* fb )

void OPframeBufferBindReadOPframeBuffer* fb )

void OPframeBufferSetReadBufferui16 pos )

void OPframeBufferSetReadBufferDepth )

void OPframeBufferBindTexOPframeBuffer* fb )

void OPframeBufferUnbind )

void OPframeBufferAttachDepthOPtexture* texture )

Structs


OPframeBuffer

OPtexture Texture
ui32 Handle
ui32 DepthBufferId
ui32 RenderTextureId
ui32 RenderFramebufferId
ui32 ResolveTextureId
ui32 ResolveFramebufferId

OPglew.h Human\include\Rendering\OPglew.h

Functions


i8 OPglewInit )

OPimage.h Human\include\Rendering\OPimage.h

Structs


OPimage
Describes an image

OPimage

ui32 Width
ui32 Height
ui8 Components
ui8* Data

OPmaterial.h Human\include\Rendering\OPmaterial.h

Typedefs


OPmaterialParam OPmaterialParam

OPmaterial OPmaterial

Functions


void OPmaterialClearParamsOPmaterial* material )

void OPmaterialInitOPmaterial* materialOPeffect* effect )

OPmaterial* OPmaterialCreateOPeffect* effect )

void OPmaterialAddParamOPmaterial* material paramTypeconst OPchar* namevoid* dataui8 count )

void OPmaterialAddParamOPmaterial* materialconst OPchar* nameOPtexture* data )

void OPmaterialAddParamOPmaterial* materialconst OPchar* nameOPvec3* data )

void OPmaterialAddParamOPmaterial* materialconst OPchar* nameOPvec4* data )

void OPmaterialAddParamOPmaterial* materialconst OPchar* nameOPmat4* data )

void OPmaterialAddParamOPmaterial* materialconst OPchar* nameOPmat4* dataui8 count )

void OPmaterialAddParamOPmaterial* materialconst OPchar* namef32* data )

void OPmaterialBindOPmaterial* material )

void OPmaterialBindOPmaterial* materialui32 stride )

Structs


OPmaterialParam

type
void* data
ui8 count

OPmaterial

params
OPuint paramIndex
i8 depth
i8 cull
i8 alpha

OPmesh.h Human\include\Rendering\OPmesh.h

Variables


_____ _ _ _
/ ____| | | | | |
| | __| | ___ | |__ __ _| |___
| | |_ | |/ _ \| '_ \ / _` | / __|
| |__| | | (_) | |_) | (_| | \__ \
\_____|_|\___/|_.__/ \__,_|_|___/

OPmesh* OPMESH_ACTIVE

void* OPMESH_ACTIVE_PTR

Typedefs


OPmeshData OPmeshData

OPmesh OPmesh

Functions


______ _ _
____| | | (_)
|__ _ _ _ __ ___| |_ _ ___ _ __ ___
__| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | |_| | | | | (__| |_| | (_) | | | \__ \
\__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPmesh OPmeshCreate )

OPmesh* OPmeshCreateOPmeshDesc desc )

void OPmeshDestroyOPmesh* mesh )

void OPmeshBuildui32 vertSizeui32 indSizeOPuint vertCountOPuint indCountvoid* verticesvoid* indices )

void OPmeshRender )

Structs


OPmeshDataMeta

OPvec3 Position
OPvec3 Rotation
OPvec3 Scale

OPmeshDataAnim

OPuint FrameCount
OPmat4* Frames

OPmeshData

OPvertexLayout vertexLayout
ui32 vertexCount
ui32 indexCount
ui16 hierarchyCount
ui16 trackCount
ui16 metaCount
ui32 indexSize
void* indices
void* vertices
i16* hierarchy

_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPmesh

OPrenderBuffer VertexBuffer
OPrenderBuffer IndexBuffer
OPvertexLayout vertexLayout
OPmeshData* meshData
OPboundingBox3D boundingBox
ui32 VertexCount
void* Vertices
ui32 IndexSize
ui32 IndexCount
void* Indicies
ui16 MetaCount

OPmeshDesc

void* Vertices
ui32 VertexSize
ui32 VertexCount
void* Indices
ui32 IndexSize
ui32 IndexCount

OPmeshBuilder.h Human\include\Rendering\OPmeshBuilder.h

Functions


void OPmeshBuilderInitOPmeshBuilder* builderui16 vertexSize )

OPmeshBuilder* OPmeshBuilderCreateui16 vertexSize )

void OPmeshBuilderDestroyOPmeshBuilder* builder )

void OPmeshBuilderAddOPmeshBuilder* buildervoid* onevoid* twovoid* three )

void OPmeshBuilderAddOPmeshBuilder* buildervoid* onevoid* twovoid* threevoid* four )

OPmesh OPmeshBuilderGenOPmeshBuilder* builder )

Structs


OPmeshBuilder

ui16 VertexSize
OPvector* Vertices
OPvector* Indices

OPmeshPacked.h Human\include\Rendering\OPmeshPacked.h

Typedefs


OPmeshPacked OPmeshPacked

Functions


______ _ _
____| | | (_)
|__ _ _ _ __ ___| |_ _ ___ _ __ ___
__| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | |_| | | | | (__| |_| | (_) | | | \__ \
\__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPmeshPacked OPmeshPackedCreateui32 vertSizeui32 indSizeOPuint vertCountOPuint indCountvoid* verticesvoid* indices )

void OPmeshPackedRenderOPmeshPacked* mesh )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPmeshPacked

OPuint offset
OPuint count
OPuint elementCount

OPmeshPacker.h Human\include\Rendering\OPmeshPacker.h

Variables


_____ _ _ _
/ ____| | | | | |
| | __| | ___ | |__ __ _| |___
| | |_ | |/ _ \| '_ \ / _` | / __|
| |__| | | (_) | |_) | (_| | \__ \
\_____|_|\___/|_.__/ \__,_|_|___/

OPmeshPacker* OPMESHPACKER_ACTIVE

Typedefs


OPmeshPacker OPmeshPacker

Functions


______ _ _
____| | | (_)
|__ _ _ _ __ ___| |_ _ ___ _ __ ___
__| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | |_| | | | | (__| |_| | (_) | | | \__ \
\__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPmeshPacker OPmeshPackerCreate )

OPint OPmeshPackerDestroyOPmeshPacker* packer )

OPuint OPmeshPackerAddVBui32 vertexSizevoid* verticesDataOPuint vertexCount )

OPuint OPmeshPackerAddIBui32 indexSizevoid* indicesDataOPuint indexCount )

void OPmeshPackerBuild )

void OPmeshPackerBindOPmeshPacker* packer )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPmeshPacker

OPrenderBuffer VertexBuffer
OPrenderBuffer IndexBuffer
OPuint vertexElementOffset
OPuint vertexOffset
OPuint indexOffset
OPstream vertices
OPstream indices
OPint built

OPmodel.h Human\include\Rendering\OPmodel.h

Typedefs


OPmodel OPmodel

OPmodelTextured OPmodelTextured

Structs


OPmodel

OPmodelTextured

OPmonitor.h Human\include\Rendering\OPmonitor.h

Variables


ui8 OPMONITOR_COUNT

OPmonitor OPMONITOR_PRIMARY

OPMONITOR_LIST

Typedefs


OPmonitor OPmonitor

OPmonitorVideoMode OPmonitorVideoMode

Structs


OPmonitor

i32 WidthMM
i32 HeightMM
OPmonitorVideoMode VideoModeCurrent
i32 VideoModesCount

OPmonitorVideoMode

i32 Width
i32 Height
i32 Red
i32 Green
i32 Blue
i32 RefreshRate

OPMvertex.h Human\include\Rendering\OPMvertex.h

Functions


ui32 OPMhasFeatureui32 features feature )

OPvertices* OPverticesCreateOPuint countui32 features )

void OPverticesWriteVec2OPvertices* verticesOPvec2* data feature )

void OPverticesWriteVec3OPvertices* verticesOPvec3* data feature )

void OPverticesWriteVec4OPvertices* verticesOPvec4* data feature )

Structs


OPMmeta

OPvec3 Position
OPvec3 Rotation
OPvec3 Scale

OPMvertex

OPvec3 Position
OPvec3 Normal
OPvec3 Tangent
OPvec2 TexCoord

OPMvertexNormalUV

OPvec3 Position
OPvec3 Normal

OPMvertexColor

OPvec3 Position
OPvec3 Normal
OPvec3 Tangent
OPvec3 Color

OPMvertexSkin

OPvec3 Position
OPvec3 Normal
OPvec3 Tangent
OPvec2 TexCoord
OPvec4 Bones
OPvec4 BoneWeights

OPvertexTex

OPvec3 Position
OPvec2 TexCoord

OPvertices

i8* data
ui32 features
ui32 size
OPuint count

OPrender.h Human\include\Rendering\OPrender.h

Variables


i8 OPRENDER_INITIALIZED

ui32 OPRENDER_WIDTH

ui32 OPRENDER_HEIGHT

ui32 OPRENDER_SCREEN_WIDTH

ui32 OPRENDER_SCREEN_HEIGHT

ui32 OPRENDER_SCALED_WIDTH

ui32 OPRENDER_SCALED_HEIGHT

f32 OPRENDER_SCREEN_WIDTH_SCALE

f32 OPRENDER_SCREEN_HEIGHT_SCALE

i8 OPRENDER_FULLSCREEN

i8 OPRENDER_HAS_FOCUS

OPuint OPRENDER_VAO

void() OP_WINDOW_DROP

Functions


void OPrenderDragAndDropCBvoid() cb )

OPwindow* OPrenderCreateWindowOPmonitor* monitorbool fullscreenconst OPchar* titleui32 widthui32 height )

OPint OPrenderInit )

void OPrenderClearf32 rf32 gf32 bf32 a )

void OPrenderSetScreenSizeui32 widthui32 height )

void OPrenderSetViewportOPint xOPint yui32 widthui32 height )

void OPrenderResetViewport )

OPint OPrenderGetWidth )

OPint OPrenderGetHeight )

OPfloat OPrenderGetAspectRatio )

OPfloat OPrenderGetWidthAspectRatio )

OPfloat OPrenderGetHeightAspectRatio )

Enables or Disables GL_CULL_FACE

void OPrenderCullOPint state )

Sets the direction of culling

void OPrenderCullModeOPint state )

void OPrenderSwapBuffer )

void OPrenderPresent )

void OPrenderUpdate )

void OPrenderBlendOPint state )

void OPrenderDepthOPint state )

void OPrenderDepthWriteOPint state )

void OPrenderShutdown )

ui32 OPgetNativeScreenWidth )

ui32 OPgetNativeScreenHeight )

void OPrenderBlendAlpha )

void OPrenderBlendAdditive )

OPint OPrenderInit() {
return OPrenderInit(OPRENDER_WIDTH, OPRENDER_HEIGHT);

void OPrenderClearf32 rf32 gf32 b )

void OPrenderClearOPvec3 color )

void OPrenderClearOPvec4 color )

OPrenderBuffer.h Human\include\Rendering\OPrenderBuffer.h

Variables


_____ _ _ _
/ ____| | | | | |
| | __| | ___ | |__ __ _| |___
| | |_ | |/ _ \| '_ \ / _` | / __|
| |__| | | (_) | |_) | (_| | \__ \
\_____|_|\___/|_.__/ \__,_|_|___/

OPrenderBuffer* OPRENDER_CURR_VB

OPrenderBuffer* OPRENDER_CURR_IB

Functions


______ _ _
____| | | (_)
|__ _ _ _ __ ___| |_ _ ___ _ __ ___
__| | | | '_ \ / __| __| |/ _ \| '_ \/ __|
| | |_| | | | | (__| |_| | (_) | | | \__ \
\__,_|_| |_|\___|\__|_|\___/|_| |_|___/

OPrenderBuffer OPrenderGenBufferui32 type )

void OPrenderDelBufferOPrenderBuffer* buff )

void OPrenderSetBufferDataOPrenderBuffer* buffui32 elementSizeOPuint countconst void* data )

void OPrenderSetBufferSubDataOPrenderBuffer* buffui32 elementSizeui32 offsetCountOPuint countconst void* data )

void OPrenderBindBufferOPrenderBuffer* buffer )

void OPrenderDrawBufferIndexedui32 offset )

void OPrenderDrawBufferui32 offset )

void OPrenderDrawIndexedui32 offsetui32 count )

void OPrenderDrawUserArrayvoid* verticesui32 attrsui32 offsetui32 count )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPrenderBuffer

ui32 Type
ui32 ElementSize
OPuint ElementCount
ui32 Handle

OPRendererTypes.h Human\include\Rendering\OPRendererTypes.h

OPshader.h Human\include\Rendering\OPshader.h

Typedefs


GLenum OPshader

Functions


OPint OPshaderLoadVertexOPstream* strOPshader* shader )

OPint OPshaderLoadFragmentOPstream* strOPshader* shader )

OPint OPshaderUnloadOPshader* shader )

Structs


OPshaderAttribute

ui32 Type
ui32 Elements
OPuint Offset
OPuint Handle

OPtexture.h Human\include\Rendering\OPtexture.h

Variables


OPtexture* OPRENDER_CURR_TEX

Functions


OPtexture OPtextureCreateOPtextureDescription desc )

void OPtextureDestroyOPtexture* tex )

ui32 OPtextureBindOPtexture* tex )

void OPtextureClearActive )

void OPtextureSetDatavoid* data )

void OPtexturePixelate )

void OPtextureSmooth )

OPvec4 OPtextureReadPixelOPtexture* texOPint xOPint y )

OPtexture* OPtextureLoadconst OPchar* asset )

Structs


OPtextureDescription

ui16 Width
ui16 Height
ui32 InternalFormat
ui32 Format
ui32 DataType
ui32 MinFilter
ui32 MagFilter
ui32 WrapX
ui32 WrapY
ui32 CompareFunc
ui32 CompareMode

OPtexture

OPtextureCube.h Human\include\Rendering\OPtextureCube.h

Functions


void OPtextureCubeInitOPtextureCube* resultOPimage* faces )

OPtextureCube* OPtextureCubeCreateOPimage* faces )

void OPtextureCubeDestroyOPtextureCube* result )

void OPtextureCubeFreeOPtextureCube* result )

void OPtextureCubeClearActive )

ui32 OPtextureCubeBindOPtextureCube* result )

Structs


OPtextureCube

ui16 Width
ui16 Height
OPtexture Texture

OPvertexLayout.h Human\include\Rendering\OPvertexLayout.h

Typedefs


OPvertexLayout OPvertexLayout

OPvertexLayoutBuilder OPvertexLayoutBuilder

Functions


void OPvertexLayoutInitOPvertexLayout* layoutui16 countOPchar* names typesui8* counts )

void OPvertexLayoutInitOPvertexLayout* layoutOPshaderAttribute* attributesui16 count )

void OPvertexLayoutBuilderInitOPvertexLayoutBuilder* builder )

OPvertexLayout OPvertexLayoutBuilderBuildOPvertexLayoutBuilder* builder )

void OPvertexLayoutBuilderAddOPvertexLayoutBuilder* builder attribute )

Structs


OPvertexLayout

ui16 count
ui32 stride

OPvertexLayoutBuilder

ui32 index
names
types
counts

OPwindow.h Human\include\Rendering\OPwindow.h

Variables


OPwindow* OPWINDOW_ACTIVE

Typedefs


OPwindow OPwindow

Structs


OPwindow

ui32 Width
ui32 Height
f32 WidthScaled
f32 HeightScaled

OPfontSystem.h Human\include\Systems\OPfontSystem.h

Functions


void OPfontSystemLoadEffects )

void OPfontSystemShutdownEffects )

OPinputSystem.h Human\include\Systems\OPinputSystem.h

Functions


void OPinputSystemUpdateOPtimer* timer )

OPrenderSystem.h Human\include\Systems\OPrenderSystem.h

Functions


OPeffect OPrenderSystemLoadTextured2Dui32 vertexStride )

OPeffect OPrenderSystemLoadTextured3Dui32 vertexStride )

Errors.h Human\include\Utilities\Errors.h

Functions


OPint OPglErrorconst char* message )

Geometry.h Human\include\Utilities\Geometry.h

Functions


OPmesh* OPgeoCreateSpheref32 radiusui16 widthSegmentsui16 heightSegments )

LoaderOPLVL.h Human\include\Utilities\LoaderOPLVL.h

Functions


OPLevelEntity* OPlevelGetEntityOPLevel* levelOPchar* name )

OPint OPlevelloadconst OPchar* filenameOPLevel* level )

OPint OPlevelReloadconst OPchar* filenameOPLevel* level )

OPint OPlevelUnloadvoid* image )

Structs


OPLevelEntity

OPchar* resource
OPvec3 position
OPvec3 rotation
OPvec3 scale
ui16 collision
ui16 physics

OPLevel

OPimagePNG.h Human\include\Utilities\OPimagePNG.h

Functions


void OPimagePNG24WriteStreamui8* imageDatai32 widthi32 heightui8* dataOPuint* dataSize )

void OPimagePNG32WriteStreamui8* imageDatai32 widthi32 heightui8* dataOPuint* dataSize )

void OPimagePNGCreate24ui8* imageDatai32 widthi32 heightOPchar* filename )

void OPimagePNGCreate32ui8* imageDatai32 widthi32 heightOPchar* filename )

i32 OPimagePNGLoadOPstream* strOPtexture* image )

i32 OPimagePNGLoadStreamOPstream* strOPuint offsetOPtexture* image )

OPimage OPimagePNGLoadDataconst OPchar* filename )

i32 OPimagePNGReloadOPstream* strOPtexture* image )

i32 OPimagePNGUnloadvoid* image )

OPnetwork.h Communication\include\OPnetwork.h

Functions


OPnetwork* OPnetworkCreate networkType protocol )

i32 OPnetworkClientConnectOPnetwork* networkOPchar* addressOPchar* port )

i32 OPnetworkServerStartOPnetwork* networkOPchar* port )

OPnetwork* OPnetworkAcceptClientOPnetwork* network )

i32 OPnetworkReceiveOPnetwork* networkvoid* state )

i32 OPnetworkSendOPnetwork* networki8* datai32 size )

i32 OPnetworkShutdownOPnetwork* network )

void OPnetworkDestroyOPnetwork* network )

Structs


OPnetworkPacketRaw

OPchar* Buffer
i32 Length

OPnetworkPacket

i32 ClientId
OPchar* Message

OPneworkData

fd_set master
fd_set read_fds
i32 fdmax
i32 clientIndex
peer_addr
peer_host
peer_port

OPneworkClientData

OPnetwork

i32 ConnectSocket
ConnectionType
ConnectionProtocol
void() receive
void() connected
void() disconnected

OPsimpleProtocol.h Communication\include\OPsimpleProtocol.h

Functions


OPnetworkProtocolSimple* OPnetworkProtocolSimpleCreate networkType )

i32 OPnetworkProtocolSimpleReceiveOPnetworkProtocolSimple* protocolvoid() receive )

i32 OPnetworkProtocolSimpleSendOPnetworkProtocolSimple* protocolOPtimer* timeri8* datai32 size )

void OPnetworkProtocolSimpleDestroyOPnetworkProtocolSimple* protocol )

Structs


OPprotocolSimpleMessage

i32 TimeStamp
i32 DataLength
i8* Data

OPnetworkProtocolSimple

LastReceived
i32 LastSent
void() Receive

OPwebServer.h Communication\include\OPwebServer.h

Functions


OPwebServer* OPwebServerCreateOPchar* port )

void OPwebServerUpdateOPwebServer* server )

void OPwebServerOnKeyOPwebServer* serverOPchar* keyvoid() handlervoid* param )

void OPwebServerQueueOPwebServer* serverOPchar* keyi8* dataui32 datalen )

void OPwebServerDestroyOPwebServer* server )

void OPwebServerQueueOPwebServer* serverOPchar* keyOPchar* str )

Structs


OPwebServer

void() Receive
OPhashMap* WebSocketKeys
ui32 messageCount
messages

OPWebServerHandlerContainer

void() handler
void* param

OPloaderOPS.h Scripting\include\OPloaderOPS.h

Functions


OPint OPscriptLoadconst OPchar* filenameOPscript* script )

OPint OPscriptUnloadOPscript* script )

OPint OPscriptReloadconst OPchar* filenameOPscript* script )

void OPscriptAddLoader )

Structs


OPscript

i8 changed

OPloaderOPanimation.h Pipeline\include\Loaders\OPloaderOPanimation.h

Functions


void OPskeletonAnimationAddLoader )

OPint OPloaderOPanimationLoadOPstream* filenameOPskeletonAnimation* animation )

OPint OPloaderOPanimationUnloadOPskeletonAnimation* animation )

OPloaderOPM.h Pipeline\include\Loaders\OPloaderOPM.h

Typedefs


OPMPartNode_def OPMPartNode

Functions


void OPMgenerateTangentOPvec3* tangentOPMvertex* v1OPMvertex* v2 )

OPMData OPMloadDataOPstream* str )

OPint OPMPartitionedLoadconst OPchar* filenameOPmesh* mesh )

OPMData OPMloadDataconst OPchar* filename )

OPint OPMloadOPstream* strOPmesh* mesh )

OPint OPMloadPackedconst OPchar* filenameOPmeshPacked* mesh )

OPint OPMReloadOPstream* strOPmesh* mesh )

OPint OPMUnloadvoid* image )

Structs


OPMdataAnim

OPuint FrameCount
OPmat4* Frames

OPMData

OPvertexLayout vertexLayout
void* vertices
ui32 vertexCount
void* indices
ui32 indexCount
ui32 indexSize
i16* hierarchy
ui16 hierarchyCount
ui16 metaCount
ui16 trackCount

OPMPartNode_def

OPint ChildCount

OPloaderOPskeleton.h Pipeline\include\Loaders\OPloaderOPskeleton.h

Functions


void OPskeletonAddLoader )

OPint OPloaderOPskeletonLoadOPstream* filenameOPskeleton* skeleton )

OPint OPloaderOPskeletonUnloadOPskeleton* skeleton )

OPloaderVoxels.h Pipeline\include\Loaders\OPloaderVoxels.h

Functions


OPint OPvoxelsLoadOPstream* pathvoid* asset )

OPvecInt3 OPvoxelsGetOPvoxels* voxelsOPint xOPint yOPint z )

OPassetLoader* OPvoxelsLoader )

Structs


OPvecInt3

OPvoxels

DefaultLoaders.h Pipeline\include\DefaultLoaders.h

Variables


OP_DEFAULT_LOADERS

Functions


void OPloadersAddDefault )

OPfmod.h Pipeline\include\OPfmod.h

Variables


OPfmod CURRENT_FMOD

Functions


void OPfmodUpdate )

void OPfmodLoadOPfmodSound* soundOPchar* name )

OPint OPfmodIsPlayingOPfmodChannel channel )

OPfmodChannel OPfmodPlayOPfmodSound* sound )

void OPfmodInit )

Structs


OPfmod

OPfmodChannel

OPfmodSound

OPparticleSystem.h Pipeline\include\OPparticleSystem.h

Functions


void OPparticleUpdateOPparticle* pOPtimer* timer )

void OPparticleSysSpawnOPparticleSys* sysOPparticle particle )

void OPparticleSysInitOPeffect* effect )

OPparticleSys* OPparticleSysCreateOPtexture* textureui16 countOPeffect* effect )

void OPparticleSysUpdateOPparticleSys* sysOPtimer* timer )

void OPparticleSysDestroyOPparticleSys* sys )

void OPparticleSysDrawOPparticleSys* sysOPcam* camvoid() ParticleTransform )

Structs


_____ _ _
/ ____| | | |
| (___ | |_ _ __ _ _ ___| |_ ___
\___ \| __| '__| | | |/ __| __/ __|
____) | |_| | | |_| | (__| |_\__ \
|_____/ \__|_| \__,_|\___|\__|___/

OPparticle

OPvec3 Position
OPvec3 Velocity
OPfloat AngularVelo
ui64 Life
ui64 MaxLife
OPsprite* Animation
ui8 CurrentFrame

OPparticleSys

OPparticle* particles
OPvec2 uvScale
OPfloat timeElapsed

OPsprite2D.h Pipeline\include\OPsprite2D.h

Functions


void OPsprite2DInitOPeffect* effect )

OPsprite2D* OPsprite2DCreateOPsprite* spritesOPeffect* effect )

void OPsprite2DDestroyOPsprite2D* sprite )

void OPsprite2DUpdateOPsprite2D* spriteOPtimer* timer )

void OPsprite2DSetSpriteOPsprite2D* spritei32 index )

void OPsprite2DPrepRenderOPsprite2D* sprite )

void OPsprite2DRenderOPsprite2D* sprite )

Structs


OPsprite2D

OPvec2 Position
OPfloat Rotation
OPvec2 Scale
OPint Direction
OPsprite* Sprites
OPsprite* CurrentSprite
OPfloat FrameRate
OPint CurrentFrame
ui64 CurrentElapsed
OPint Loop

OPsprite3D.h Pipeline\include\OPsprite3D.h

Functions


void OPsprite3DInitOPeffect* effect )

OPsprite3D* OPsprite3DCreateOPsprite* spritesOPeffect* effect )

void OPsprite3DCreateFillOPsprite3D* spriteOPsprite* spritesOPeffect* effect )

void OPsprite3DDestroyOPsprite3D* sprite )

void OPsprite3DUpdateOPsprite3D* spriteui64 elapsed )

void OPsprite3DSetSpriteOPsprite3D* spritei32 index )

void OPsprite3DPrepReRenderOPsprite3D* spriteOPvec3 offsetOPfloat rotation )

void OPsprite3DPrepRenderOPsprite3D* spriteOPcam* cameraOPvec3 offsetOPfloat rotation )

void OPsprite3DRenderOPsprite3D* spriteOPcam* camera )

void OPsprite3DRenderOffsetRotOPsprite3D* spriteOPcam* cameraOPvec3 offsetOPfloat rotation )

OPvec2 OPsprite3DSizeOPsprite3D* sprite )

Structs


OPsprite3D

OPvec3 Position
OPvec3 Rotation
OPvec3 Scale
OPint Direction
OPsprite* Sprites
OPsprite* CurrentSprite
OPfloat FrameRate
OPint CurrentFrame
ui64 CurrentElapsed
OPint Loop

OPspriteSystem.h Pipeline\include\OPspriteSystem.h

Functions


void OPspriteSystemEffectDefaultOPeffect* effect )

void OPspriteSystemInitOPspriteSystem* systemOPsprite* spritesOPint countOPeffect* effect alignment )

OPspriteSystem* OPspriteSystemCreateOPsprite* spritesOPint countOPeffect* effect alignment )

OPspriteSystemSprite* OPspriteSystemAddOPspriteSystem* system )

void OPspriteSystemRemoveOPspriteSystem* systemOPspriteSystemSprite* sprite )

void OPspriteSystemUpdateOPspriteSystem* systemOPtimer* timer )

void OPspriteSystemRenderOPspriteSystem* systemOPcam* camera )

void OPspriteSystemDestroyOPspriteSystem* system )

OPsprite* OPspriteSystemCurrentOPspriteSystem* systemOPspriteSystemSprite* sprite )

OPboundingBox3D OPspriteSystemBoundingBox3DOPspriteSystem* systemOPspriteSystemSprite* sprite )

Structs


OPspriteSystemSprite

OPvec2 Position
OPvec2 Scale
OPvec2 Center
OPfloat Rotation
OPuint CurrentSprite
OPint CurrentFrame
OPuint CurrentElapsed
OPint Direction

OPspriteSystem

OPmesh _mesh
Align
OPuint Count
OPuint CountMax
OPfloat FrameRate
OPsprite* Sprites
i8 ExternalEffect

OPtexture2D.h Pipeline\include\OPtexture2D.h

Functions


OPtexture2D* OPtexture2DCreateOPtexture* textureOPeffect* effectOPvec2 uvStartOPvec2 uvEnd )

OPtexture2D* OPtexture2DCreateOPtexture* textureOPeffect* effect )

void OPtexture2DDestroyOPtexture2D* character )

void OPtexture2DPrepRenderOPtexture2D* tex2d )

void OPtexture2DRenderOPtexture2D* tex2d )

void OPtexture2DUnloadGlobals )

OPtexture2D* OPtexture2DCreateOPtexture* texture )

Structs


OPtexture2D

OPvec2 Position
OPfloat Rotation
OPvec2 Scale

OPtexture3D.h Pipeline\include\OPtexture3D.h

Functions


OPtexture3D* OPtexture3DCreateOPtexture* textureOPeffect* effect )

void OPtexture3DDestroyOPtexture3D* character )

void OPtexture3DPrepRenderOPtexture3D* tex3dOPcam* camera )

void OPtexture3DRenderOPtexture3D* tex3dOPcam* camera )

Structs


OPtexture3D

OPvec3 Position
OPvec3 Rotation
OPvec3 Scale

OPvoxelGenerator.h Pipeline\include\OPvoxelGenerator.h

Functions


void OPvoxelGeneratorInitOPvoxelGenerator* genOPuint features )

OPvoxelGenerator* OPvoxelGeneratorCreateOPuint features )

void OPvoxelGeneratorAddOPvoxelGenerator* genOPvoxels voxelDataOPvec4 bonesOPvec4 weightsOPvec3 offset )

OPmeshDesc OPvoxelGeneratorBuildDescOPvoxelGenerator* gen )

OPmesh* OPvoxelGeneratorBuildOPvoxelGenerator* gen )

void OPvoxelGeneratorDestroyOPvoxelGenerator* gen )

void OPvoxelGeneratorAddOPvoxelGenerator* genOPvoxels voxelData )

void OPvoxelGeneratorAddOPvoxelGenerator* genOPvoxels voxelDataOPvec3 offset )

void OPvoxelGeneratorAddOPvoxelGenerator* genOPvoxels voxelDataOPvec4 bonesOPvec4 weights )

Structs


OPvoxelGenerator

OPuint Features
OPuint VertexSize
ui32 IndexOffset
HideFace
i8 Center
void* Vertex
OPlist* Vertices
OPlist* Indices

OPvoxelGeneratorVertex

OPvec3 Position
OPvec3 Normal
OPvec3 Tangent
OPvec3 Color
OPvec4 Bones
OPvec4 Weights

OPvoxelGeneratorData

Vertices
Indices
OPvec3 Offset
OPvec3 Color

Rendering.h Pipeline\include\Rendering.h

Functions


void OPmeshBindAndEffectOPmesh* meshOPeffect* effect )

void OPmeshRender3DOPmat4* worldOPcam* cam )

void OPbindMeshEffectWorldCamOPmesh* meshOPeffect* effectOPmat4* worldOPcam* camera )

SpineLoader.h Pipeline\include\SpineLoader.h

Functions


void SpineAddLoader )

void SpineInitialize )

void SpineSetMixSpine* spineconst OPchar* fromconst OPchar* tof32 duration )

void SpineSetAnimSpine* spinei32 trackconst OPchar* animOPint loop )

void SpineAddAnimSpine* spinei32 trackconst OPchar* animOPint loopOPfloat delay )

void SpineBuildMixingStateSpine* spine )

i32 SpineLoadconst OPchar* filenameSpine* spine )

void SpineRenderSpine* spineOPmat4* worldOPeffect* effectOPcam* camera )

void SpineUpdateSpine* spineOPtimer* timer )

i32 SpineUnloadvoid* spine )

Structs


Spine