Added 3D Primitive functions
This commit is contained in:
@@ -209,6 +209,10 @@ rc_drawRectFill( RECTFILL_X, RECTFILL_Y, RECTFILL_W, RECTFILL_H )
|
||||
rc_rgb( RGB_R, RGB_G, RGB_B )
|
||||
rc_rgba( RGBA_R, RGBA_G, RGBA_B, RGBA_A )
|
||||
rc_drawPixel( PSET_X, PSET_Y )
|
||||
rc_drawTriangle( TRIANGLE_X1, TRIANGLE_Y1, TRIANGLE_X2, TRIANGLE_Y2, TRIANGLE_X3, TRIANGLE_Y3 )
|
||||
rc_drawLine3D( LINE3D_X1, LINE3D_Y1, LINE3D_Z1, LINE3D_X2, LINE3D_Y2, LINE3D_Z2 )
|
||||
rc_drawBox3D( BOX3D_MIN_X, BOX3D_MIN_Y, BOX3D_MIN_Z, BOX3D_MAX_X, BOX3D_MAX_Y, BOX3D_MAX_Z )
|
||||
rc_drawTriangle3D( TRIANGLE3D_X1, TRIANGLE3D_Y1, TRIANGLE3D_Z1, TRIANGLE3D_X2, TRIANGLE3D_Y2, TRIANGLE3D_Z2, TRIANGLE3D_X3, TRIANGLE3D_Y3, TRIANGLE3D_Z3 )
|
||||
rc_loadImage( LOADIMAGE_IMG$ )
|
||||
rc_loadImageEx( LOADIMAGEEX_IMG$, LOADIMAGEEX_COLKEY )
|
||||
rc_createImage( CREATEIMAGE_W, CREATEIMAGE_H, &CREATEIMAGE_BUFFER )
|
||||
|
||||
@@ -12,3 +12,7 @@ sub RectFill(x, y, w, h)
|
||||
function RGB(r,g,b)
|
||||
function RGBA(r,g,b,a)
|
||||
sub Pset(x,y)
|
||||
sub Triangle(x1, y1, x2, y2, x3, y3)
|
||||
sub Line3D(x1, y1, z1, x2, y2, z2)
|
||||
sub Box3D(min_x, min_y, min_z, max_x, max_y, max_z)
|
||||
sub Triangle3D(x1, y1, z1, x2, y2, z2, x3, y3, z3)
|
||||
|
||||
@@ -579,6 +579,37 @@ void init_embedded_functions()
|
||||
embed_function("Pset", ID_TYPE_SUB);
|
||||
add_embedded_arg("x", ID_TYPE_NUM);
|
||||
add_embedded_arg("y", ID_TYPE_NUM);
|
||||
embed_function("Triangle", ID_TYPE_SUB);
|
||||
add_embedded_arg("x1", ID_TYPE_NUM);
|
||||
add_embedded_arg("y1", ID_TYPE_NUM);
|
||||
add_embedded_arg("x2", ID_TYPE_NUM);
|
||||
add_embedded_arg("y2", ID_TYPE_NUM);
|
||||
add_embedded_arg("x3", ID_TYPE_NUM);
|
||||
add_embedded_arg("y3", ID_TYPE_NUM);
|
||||
embed_function("Line3D", ID_TYPE_SUB);
|
||||
add_embedded_arg("x1", ID_TYPE_NUM);
|
||||
add_embedded_arg("y1", ID_TYPE_NUM);
|
||||
add_embedded_arg("z1", ID_TYPE_NUM);
|
||||
add_embedded_arg("x2", ID_TYPE_NUM);
|
||||
add_embedded_arg("y2", ID_TYPE_NUM);
|
||||
add_embedded_arg("z2", ID_TYPE_NUM);
|
||||
embed_function("Box3D", ID_TYPE_SUB);
|
||||
add_embedded_arg("min_x", ID_TYPE_NUM);
|
||||
add_embedded_arg("min_y", ID_TYPE_NUM);
|
||||
add_embedded_arg("min_z", ID_TYPE_NUM);
|
||||
add_embedded_arg("max_x", ID_TYPE_NUM);
|
||||
add_embedded_arg("max_y", ID_TYPE_NUM);
|
||||
add_embedded_arg("max_z", ID_TYPE_NUM);
|
||||
embed_function("Triangle3D", ID_TYPE_SUB);
|
||||
add_embedded_arg("x1", ID_TYPE_NUM);
|
||||
add_embedded_arg("y1", ID_TYPE_NUM);
|
||||
add_embedded_arg("z1", ID_TYPE_NUM);
|
||||
add_embedded_arg("x2", ID_TYPE_NUM);
|
||||
add_embedded_arg("y2", ID_TYPE_NUM);
|
||||
add_embedded_arg("z2", ID_TYPE_NUM);
|
||||
add_embedded_arg("x3", ID_TYPE_NUM);
|
||||
add_embedded_arg("y3", ID_TYPE_NUM);
|
||||
add_embedded_arg("z3", ID_TYPE_NUM);
|
||||
embed_function("LoadImage", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("img$", ID_TYPE_STR);
|
||||
embed_function("LoadImageEx", ID_TYPE_FN_NUM);
|
||||
|
||||
@@ -378,6 +378,33 @@ N main.RGBA b 2
|
||||
N main.RGBA a 3
|
||||
N main.Pset x 0
|
||||
N main.Pset y 1
|
||||
N main.Triangle x1 0
|
||||
N main.Triangle y1 1
|
||||
N main.Triangle x2 2
|
||||
N main.Triangle y2 3
|
||||
N main.Triangle x3 4
|
||||
N main.Triangle y3 5
|
||||
N main.Line3D x1 0
|
||||
N main.Line3D y1 1
|
||||
N main.Line3D z1 2
|
||||
N main.Line3D x2 3
|
||||
N main.Line3D y2 4
|
||||
N main.Line3D z2 5
|
||||
N main.Box3D min_x 0
|
||||
N main.Box3D min_y 1
|
||||
N main.Box3D min_z 2
|
||||
N main.Box3D max_x 3
|
||||
N main.Box3D max_y 4
|
||||
N main.Box3D max_z 5
|
||||
N main.Triangle3D x1 0
|
||||
N main.Triangle3D y1 1
|
||||
N main.Triangle3D z1 2
|
||||
N main.Triangle3D x2 3
|
||||
N main.Triangle3D y2 4
|
||||
N main.Triangle3D z2 5
|
||||
N main.Triangle3D x3 6
|
||||
N main.Triangle3D y3 7
|
||||
N main.Triangle3D z3 8
|
||||
S main.LoadImage img$ 0
|
||||
S main.LoadImageEx img$ 0
|
||||
N main.LoadImageEx colkey 0
|
||||
|
||||
Binary file not shown.
@@ -573,6 +573,37 @@ add_embedded_arg("a", ID_TYPE_NUM);
|
||||
embed_function("Pset", ID_TYPE_SUB);
|
||||
add_embedded_arg("x", ID_TYPE_NUM);
|
||||
add_embedded_arg("y", ID_TYPE_NUM);
|
||||
embed_function("Triangle", ID_TYPE_SUB);
|
||||
add_embedded_arg("x1", ID_TYPE_NUM);
|
||||
add_embedded_arg("y1", ID_TYPE_NUM);
|
||||
add_embedded_arg("x2", ID_TYPE_NUM);
|
||||
add_embedded_arg("y2", ID_TYPE_NUM);
|
||||
add_embedded_arg("x3", ID_TYPE_NUM);
|
||||
add_embedded_arg("y3", ID_TYPE_NUM);
|
||||
embed_function("Line3D", ID_TYPE_SUB);
|
||||
add_embedded_arg("x1", ID_TYPE_NUM);
|
||||
add_embedded_arg("y1", ID_TYPE_NUM);
|
||||
add_embedded_arg("z1", ID_TYPE_NUM);
|
||||
add_embedded_arg("x2", ID_TYPE_NUM);
|
||||
add_embedded_arg("y2", ID_TYPE_NUM);
|
||||
add_embedded_arg("z2", ID_TYPE_NUM);
|
||||
embed_function("Box3D", ID_TYPE_SUB);
|
||||
add_embedded_arg("min_x", ID_TYPE_NUM);
|
||||
add_embedded_arg("min_y", ID_TYPE_NUM);
|
||||
add_embedded_arg("min_z", ID_TYPE_NUM);
|
||||
add_embedded_arg("max_x", ID_TYPE_NUM);
|
||||
add_embedded_arg("max_y", ID_TYPE_NUM);
|
||||
add_embedded_arg("max_z", ID_TYPE_NUM);
|
||||
embed_function("Triangle3D", ID_TYPE_SUB);
|
||||
add_embedded_arg("x1", ID_TYPE_NUM);
|
||||
add_embedded_arg("y1", ID_TYPE_NUM);
|
||||
add_embedded_arg("z1", ID_TYPE_NUM);
|
||||
add_embedded_arg("x2", ID_TYPE_NUM);
|
||||
add_embedded_arg("y2", ID_TYPE_NUM);
|
||||
add_embedded_arg("z2", ID_TYPE_NUM);
|
||||
add_embedded_arg("x3", ID_TYPE_NUM);
|
||||
add_embedded_arg("y3", ID_TYPE_NUM);
|
||||
add_embedded_arg("z3", ID_TYPE_NUM);
|
||||
embed_function("LoadImage", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("img$", ID_TYPE_STR);
|
||||
embed_function("LoadImageEx", ID_TYPE_FN_NUM);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -658,6 +658,18 @@ case FN_RGBA: //Number Function
|
||||
case FN_Pset: //Sub Procedure
|
||||
rc_drawPixel( PSET_X, PSET_Y );
|
||||
break;
|
||||
case FN_Triangle: //Sub Procedure
|
||||
rc_drawTriangle( TRIANGLE_X1, TRIANGLE_Y1, TRIANGLE_X2, TRIANGLE_Y2, TRIANGLE_X3, TRIANGLE_Y3 );
|
||||
break;
|
||||
case FN_Line3D: //Sub Procedure
|
||||
rc_drawLine3D( LINE3D_X1, LINE3D_Y1, LINE3D_Z1, LINE3D_X2, LINE3D_Y2, LINE3D_Z2 );
|
||||
break;
|
||||
case FN_Box3D: //Sub Procedure
|
||||
rc_drawBox3D( BOX3D_MIN_X, BOX3D_MIN_Y, BOX3D_MIN_Z, BOX3D_MAX_X, BOX3D_MAX_Y, BOX3D_MAX_Z );
|
||||
break;
|
||||
case FN_Triangle3D: //Sub Procedure
|
||||
rc_drawTriangle3D( TRIANGLE3D_X1, TRIANGLE3D_Y1, TRIANGLE3D_Z1, TRIANGLE3D_X2, TRIANGLE3D_Y2, TRIANGLE3D_Z2, TRIANGLE3D_X3, TRIANGLE3D_Y3, TRIANGLE3D_Z3 );
|
||||
break;
|
||||
case FN_LoadImage: //Number Function
|
||||
rc_push_num(rc_loadImage( LOADIMAGE_IMG$ ));
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user