packages feed

HGamer3D-Ogre-Binding-0.5.0: include/ClassRenderSystem.h

// This source file is part of HGamer3D, a project to enable 3D game development 
// in Haskell. For the latest info, see http://www.hgamer3d.org .
// 
// (c) 2011-2014 Peter Althainz
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 

// ClassRenderSystem.h

// 

#include "wchar.h"
#ifndef _DEFINED_HG3D_ClassRenderSystem
#define _DEFINED_HG3D_ClassRenderSystem

#include "ClassPtr.h"
#include "ClassMultiRenderTarget.h"
#include "ClassRenderTarget.h"
#include "StructColour.h"
#include "EnumGpuProgramType.h"


// 
void ogre_rds_destruct(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_getName(struct hg3dclass_struct * thisclass_c, char * result_c);

// 
void ogre_rds_setConfigOption(struct hg3dclass_struct * thisclass_c, char * name_c, char * value_c);

// 
void ogre_rds_validateConfigOptions(struct hg3dclass_struct * thisclass_c, char * result_c);

// 
void ogre_rds_reinitialise(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_shutdown(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_setAmbientLight(struct hg3dclass_struct * thisclass_c, float r_c, float g_c, float b_c);

// 
void ogre_rds_setLightingEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);

// 
void ogre_rds_setWBufferEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);

// 
void ogre_rds_getWBufferEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);

// 
void ogre_rds_createMultiRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);

// 
void ogre_rds_destroyRenderWindow(struct hg3dclass_struct * thisclass_c, char * name_c);

// 
void ogre_rds_destroyRenderTexture(struct hg3dclass_struct * thisclass_c, char * name_c);

// 
void ogre_rds_destroyRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c);

// 
void ogre_rds_attachRenderTarget(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * target_c);

// 
void ogre_rds_getRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);

// 
void ogre_rds_detachRenderTarget(struct hg3dclass_struct * thisclass_c, char * name_c, struct hg3dclass_struct * result_c);

// 
void ogre_rds_getErrorDescription(struct hg3dclass_struct * thisclass_c, long errorNumber_c, char * result_c);

// 
void ogre_rds_setWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, long enabled_c);

// 
void ogre_rds_getWaitForVerticalBlank(struct hg3dclass_struct * thisclass_c, long * result_c);

// 
void ogre_rds_getGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, long * result_c);

// 
void ogre_rds_setGlobalNumberOfInstances(struct hg3dclass_struct * thisclass_c, const long val_c);

// 
void ogre_rds_setFixedPipelineEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);

// 
void ogre_rds_getFixedPipelineEnabled(struct hg3dclass_struct * thisclass_c, long * result_c);

// 
void ogre_rds_setDepthBufferFor(struct hg3dclass_struct * thisclass_c, struct hg3dclass_struct * renderTarget_c);

// 
void ogre_rds_areFixedFunctionLightsInViewSpace(struct hg3dclass_struct * thisclass_c, long * result_c);

// 
void ogre_rds_convertColourValue(struct hg3dclass_struct * thisclass_c, struct colourvalue_struct * colour_c, unsigned long * pDest_c);

// 
void ogre_rds_setStencilCheckEnabled(struct hg3dclass_struct * thisclass_c, long enabled_c);

// 
void ogre_rds_setNormaliseNormals(struct hg3dclass_struct * thisclass_c, long normalise_c);

// 
void ogre_rds_bindGpuProgramPassIterationParameters(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c);

// 
void ogre_rds_unbindGpuProgram(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c);

// 
void ogre_rds_isGpuProgramBound(struct hg3dclass_struct * thisclass_c, enum EnumGpuProgramType gptype_c, long * result_c);

// 
void ogre_rds_addClipPlane2(struct hg3dclass_struct * thisclass_c, float A_c, float B_c, float C_c, float D_c);

// 
void ogre_rds_resetClipPlanes(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_setInvertVertexWinding(struct hg3dclass_struct * thisclass_c, long invert_c);

// 
void ogre_rds_getInvertVertexWinding(struct hg3dclass_struct * thisclass_c, long * result_c);

// 
void ogre_rds_setScissorTest(struct hg3dclass_struct * thisclass_c, long enabled_c, long left_c, long top_c, long right_c, long bottom_c);

// 
void ogre_rds_clearFrameBuffer(struct hg3dclass_struct * thisclass_c, unsigned long buffers_c, struct colourvalue_struct * colour_c, float depth_c, unsigned short stencil_c);

// 
void ogre_rds_getHorizontalTexelOffset(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void ogre_rds_getVerticalTexelOffset(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void ogre_rds_getMinimumDepthInputValue(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void ogre_rds_getMaximumDepthInputValue(struct hg3dclass_struct * thisclass_c, float * result_c);

// 
void ogre_rds_setCurrentPassIterationCount(struct hg3dclass_struct * thisclass_c, const long count_c);

// 
void ogre_rds_setDeriveDepthBias(struct hg3dclass_struct * thisclass_c, long derive_c, float baseValue_c, float multiplier_c, float slopeScale_c);

// 
void ogre_rds_preExtraThreadsStarted(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_postExtraThreadsStarted(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_registerThread(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_unregisterThread(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_getDisplayMonitorCount(struct hg3dclass_struct * thisclass_c, unsigned long * result_c);

// 
void ogre_rds_beginProfileEvent(struct hg3dclass_struct * thisclass_c, char * eventName_c);

// 
void ogre_rds_endProfileEvent(struct hg3dclass_struct * thisclass_c);

// 
void ogre_rds_markProfileEvent(struct hg3dclass_struct * thisclass_c, char * event_c);

#endif