Added post processing effects and custom render process functions
This commit is contained in:
@@ -206,6 +206,13 @@ rc_getSpriteCanvasBilinearFilter( GETSPRITECANVASBILINEARFILTER_C_NUM )
|
||||
rc_getSpriteCanvasPhysics( GETSPRITECANVASPHYSICS_C_NUM )
|
||||
rc_setSpriteCanvasRenderPriority( SETSPRITECANVASRENDERPRIORITY_C_NUM, SETSPRITECANVASRENDERPRIORITY_PRIORITY, SETSPRITECANVASRENDERPRIORITY_ORDER )
|
||||
rc_getSpriteCanvasRenderPriority( GETSPRITECANVASRENDERPRIORITY_C_NUM, &GETSPRITECANVASRENDERPRIORITY_PRIORITY, &GETSPRITECANVASRENDERPRIORITY_ORDER )
|
||||
rc_addPostEffect( ADDPOSTEFFECT_C_NUM, ADDPOSTEFFECT_EFFECT_TYPE )
|
||||
rc_removePostEffect( REMOVEPOSTEFFECT_C_NUM, REMOVEPOSTEFFECT_EFFECT_NUM )
|
||||
rc_setPostEffectProperty( SETPOSTEFFECTPROPERTY_C_NUM, SETPOSTEFFECTPROPERTY_EFFECT_NUM, SETPOSTEFFECTPROPERTY_PROPERTY, SETPOSTEFFECTPROPERTY_PROPERTY_VALUE )
|
||||
rc_getPostEffectProperty( GETPOSTEFFECTPROPERTY_C_NUM, GETPOSTEFFECTPROPERTY_EFFECT_NUM, GETPOSTEFFECTPROPERTY_PROPERTY )
|
||||
rc_clearPostEffects( CLEARPOSTEFFECTS_C_NUM )
|
||||
rc_setPostEffectActive( SETPOSTEFFECTACTIVE_C_NUM, SETPOSTEFFECTACTIVE_EFFECT_NUM, SETPOSTEFFECTACTIVE_FLAG )
|
||||
rc_postEffectIsActive( POSTEFFECTISACTIVE_C_NUM, POSTEFFECTISACTIVE_EFFECT_NUM )
|
||||
rc_drawCircle( CIRCLE_X, CIRCLE_Y, CIRCLE_RADIUS )
|
||||
rc_drawCircleFill( CIRCLEFILL_X, CIRCLEFILL_Y, CIRCLEFILL_RADIUS )
|
||||
rc_drawEllipse( ELLIPSE_X, ELLIPSE_Y, ELLIPSE_RX, ELLIPSE_RY )
|
||||
@@ -691,6 +698,11 @@ rc_makePlanarTextureMap( MAKEPLANARTEXTUREMAP_MESH, MAKEPLANARTEXTUREMAP_RESOLU
|
||||
rc_reCalculateMeshNormals( RECALCULATEMESHNORMALS_MESH )
|
||||
rc_getMeshPolygonCount( GETMESHPOLYGONCOUNT_MESH )
|
||||
rc_flipMeshSurfaces( FLIPMESHSURFACES_MESH )
|
||||
rc_setMeshBuffer( SETMESHBUFFER_MESH_ID, SETMESHBUFFER_BUFFER_NUM, SETMESHBUFFER_VERTEX_COUNT, &SETMESHBUFFER_VERTEX_DATA, &SETMESHBUFFER_NORMAL_DATA, &SETMESHBUFFER_UV_DATA, SETMESHBUFFER_INDEX_COUNT, &SETMESHBUFFER_INDEX_DATA )
|
||||
rc_getMeshBufferCount( GETMESHBUFFERCOUNT_MESH_ID )
|
||||
rc_getMeshBufferVertexCount( GETMESHBUFFERVERTEXCOUNT_MESH_ID, GETMESHBUFFERVERTEXCOUNT_BUFFER_INDEX )
|
||||
rc_getMeshBufferIndexCount( GETMESHBUFFERINDEXCOUNT_MESH_ID, GETMESHBUFFERINDEXCOUNT_BUFFER_INDEX )
|
||||
rc_getMeshBuffer( GETMESHBUFFER_MESH_ID, GETMESHBUFFER_BUFFER_INDEX, &GETMESHBUFFER_VERTEX_DATA, &GETMESHBUFFER_NORMAL_DATA, &GETMESHBUFFER_UV_DATA, &GETMESHBUFFER_INDEX_DATA )
|
||||
rc_createAnimatedActor( CREATEANIMATEDACTOR_MESH )
|
||||
rc_createOctreeActor( CREATEOCTREEACTOR_MESH )
|
||||
rc_createCubeActor( CREATECUBEACTOR_CUBE_SIZE )
|
||||
@@ -938,6 +950,9 @@ rc_setSceneShadowColor( SETSCENESHADOWCOLOR_COLOR )
|
||||
rc_getSceneShadowColor( )
|
||||
rc_setSceneAmbientColor( SETSCENEAMBIENTCOLOR_COLOR )
|
||||
rc_getSceneAmbientColor( )
|
||||
rc_pipeline_Begin( )
|
||||
rc_pipeline_End( )
|
||||
rc_pipeline_Render( )
|
||||
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR )
|
||||
rc_stopParticleEmitter( STOPPARTICLEEMITTER_ACTOR )
|
||||
rc_setParticleDirection( SETPARTICLEDIRECTION_ACTOR, SETPARTICLEDIRECTION_X, SETPARTICLEDIRECTION_Y, SETPARTICLEDIRECTION_Z )
|
||||
|
||||
@@ -30,3 +30,10 @@ function GetSpriteCanvasBilinearFilter( c_num )
|
||||
function GetSpriteCanvasPhysics( c_num )
|
||||
function SetSpriteCanvasRenderPriority( c_num, priority, order )
|
||||
sub GetSpriteCanvasRenderPriority( c_num, ByRef priority, ByRef order )
|
||||
function AddPostEffect( c_num, effect_type )
|
||||
sub RemovePostEffect( c_num, effect_num )
|
||||
sub SetPostEffectProperty( c_num, effect_num, property, property_value )
|
||||
function GetPostEffectProperty( c_num, effect_num, property)
|
||||
sub ClearPostEffects( c_num )
|
||||
sub SetPostEffectActive( c_num, effect_num, flag )
|
||||
function PostEffectIsActive( c_num, effect_num )
|
||||
|
||||
@@ -19,3 +19,8 @@ Sub MakePlanarTextureMap( mesh, resolution )
|
||||
Sub ReCalculateMeshNormals( mesh )
|
||||
Function GetMeshPolygonCount( mesh )
|
||||
Sub FlipMeshSurfaces( mesh )
|
||||
Function SetMeshBuffer( mesh_id, buffer_num, vertex_count, ByRef vertex_data, ByRef normal_data, ByRef uv_data, index_count, ByRef index_data )
|
||||
Function GetMeshBufferCount( mesh_id )
|
||||
Function GetMeshBufferVertexCount( mesh_id, buffer_index )
|
||||
Function GetMeshBufferIndexCount( mesh_id, buffer_index )
|
||||
Function GetMeshBuffer( mesh_id, buffer_index, ByRef vertex_data, ByRef normal_data, ByRef uv_data, ByRef index_data )
|
||||
|
||||
@@ -13,3 +13,6 @@ Sub SetSceneShadowColor(color)
|
||||
Function GetSceneShadowColor()
|
||||
Sub SetSceneAmbientColor(color)
|
||||
Function GetSceneAmbientColor()
|
||||
Sub Pipeline_Begin()
|
||||
Sub Pipeline_End()
|
||||
Sub Pipeline_Render()
|
||||
|
||||
@@ -966,7 +966,7 @@ int main(int argc, char * argv[])
|
||||
|
||||
if(rc_filename.compare("--version")==0)
|
||||
{
|
||||
cout << "RCBASIC Compiler v4.6" << endl;
|
||||
cout << "RCBASIC Compiler v4.7" << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -551,6 +551,30 @@ void init_embedded_functions()
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("priority", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("order", ID_TYPE_BYREF_NUM);
|
||||
embed_function("AddPostEffect", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("effect_type", ID_TYPE_NUM);
|
||||
embed_function("RemovePostEffect", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("effect_num", ID_TYPE_NUM);
|
||||
embed_function("SetPostEffectProperty", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("effect_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("property", ID_TYPE_NUM);
|
||||
add_embedded_arg("property_value", ID_TYPE_NUM);
|
||||
embed_function("GetPostEffectProperty", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("effect_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("property", ID_TYPE_NUM);
|
||||
embed_function("ClearPostEffects", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
embed_function("SetPostEffectActive", ID_TYPE_SUB);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("effect_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("flag", ID_TYPE_NUM);
|
||||
embed_function("PostEffectIsActive", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("c_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("effect_num", ID_TYPE_NUM);
|
||||
embed_function("Circle", ID_TYPE_SUB);
|
||||
add_embedded_arg("x", ID_TYPE_NUM);
|
||||
add_embedded_arg("y", ID_TYPE_NUM);
|
||||
@@ -2090,6 +2114,30 @@ void init_embedded_functions()
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("FlipMeshSurfaces", ID_TYPE_SUB);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("SetMeshBuffer", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh_id", ID_TYPE_NUM);
|
||||
add_embedded_arg("buffer_num", ID_TYPE_NUM);
|
||||
add_embedded_arg("vertex_count", ID_TYPE_NUM);
|
||||
add_embedded_arg("vertex_data", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_data", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("uv_data", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("index_count", ID_TYPE_NUM);
|
||||
add_embedded_arg("index_data", ID_TYPE_BYREF_NUM);
|
||||
embed_function("GetMeshBufferCount", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh_id", ID_TYPE_NUM);
|
||||
embed_function("GetMeshBufferVertexCount", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh_id", ID_TYPE_NUM);
|
||||
add_embedded_arg("buffer_index", ID_TYPE_NUM);
|
||||
embed_function("GetMeshBufferIndexCount", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh_id", ID_TYPE_NUM);
|
||||
add_embedded_arg("buffer_index", ID_TYPE_NUM);
|
||||
embed_function("GetMeshBuffer", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh_id", ID_TYPE_NUM);
|
||||
add_embedded_arg("buffer_index", ID_TYPE_NUM);
|
||||
add_embedded_arg("vertex_data", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_data", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("uv_data", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("index_data", ID_TYPE_BYREF_NUM);
|
||||
embed_function("CreateAnimatedActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("CreateOctreeActor", ID_TYPE_FN_NUM);
|
||||
@@ -2956,6 +3004,9 @@ void init_embedded_functions()
|
||||
embed_function("SetSceneAmbientColor", ID_TYPE_SUB);
|
||||
add_embedded_arg("color", ID_TYPE_NUM);
|
||||
embed_function("GetSceneAmbientColor", ID_TYPE_FN_NUM);
|
||||
embed_function("Pipeline_Begin", ID_TYPE_SUB);
|
||||
embed_function("Pipeline_End", ID_TYPE_SUB);
|
||||
embed_function("Pipeline_Render", ID_TYPE_SUB);
|
||||
embed_function("startParticleEmitter", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
embed_function("stopParticleEmitter", ID_TYPE_SUB);
|
||||
|
||||
Binary file not shown.
@@ -1300,6 +1300,30 @@ string rc_keywordToken(string sline)
|
||||
return "<num>0";
|
||||
else if(sline.compare("SPRITE_ORDER_DESCENDING")==0)
|
||||
return "<num>1";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_BLOOM")==0)
|
||||
return "<num>1";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_BLUR")==0)
|
||||
return "<num>2";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_MOTION_BLUR")==0)
|
||||
return "<num>3";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_RADIAL_BLUR")==0)
|
||||
return "<num>4";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_COLORIZE")==0)
|
||||
return "<num>5";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_INVERT")==0)
|
||||
return "<num>6";
|
||||
else if(sline.compare("POST_PROCESS_TYPE_DISTORTION")==0)
|
||||
return "<num>7";
|
||||
else if(sline.compare("POST_PROCESS_PROPERTY_STRENGTH")==0)
|
||||
return "<num>1";
|
||||
else if(sline.compare("POST_PROCESS_PROPERTY_DISTANCE")==0)
|
||||
return "<num>2";
|
||||
else if(sline.compare("POST_PROCESS_PROPERTY_MULTIPLIER")==0)
|
||||
return "<num>3";
|
||||
else if(sline.compare("POST_PROCESS_PROPERTY_SATURATION")==0)
|
||||
return "<num>4";
|
||||
else if(sline.compare("POST_PROCESS_PROPERTY_COLOR")==0)
|
||||
return "<num>5";
|
||||
else
|
||||
{
|
||||
for(int i = 0; i < rc_constants.size(); i++)
|
||||
|
||||
Reference in New Issue
Block a user