added boolean shapes to parser
git-svn-id: svn://anubis/fart/trunk@86 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
parent
f5dc4c7f93
commit
c3e31eab4a
@ -36,6 +36,7 @@ box return BOX;
|
|||||||
camera return CAMERA;
|
camera return CAMERA;
|
||||||
color return COLOR;
|
color return COLOR;
|
||||||
height return HEIGHT;
|
height return HEIGHT;
|
||||||
|
intersect return INTERSECT;
|
||||||
look_at return LOOKAT;
|
look_at return LOOKAT;
|
||||||
material return MATERIAL;
|
material return MATERIAL;
|
||||||
multisample return MULTISAMPLE;
|
multisample return MULTISAMPLE;
|
||||||
@ -48,6 +49,8 @@ scene return SCENE;
|
|||||||
shininess return SHININESS;
|
shininess return SHININESS;
|
||||||
size return SIZE;
|
size return SIZE;
|
||||||
sphere return SPHERE;
|
sphere return SPHERE;
|
||||||
|
subtract return SUBTRACT;
|
||||||
|
union return UNION;
|
||||||
up return UP;
|
up return UP;
|
||||||
vfov return VFOV;
|
vfov return VFOV;
|
||||||
width return WIDTH;
|
width return WIDTH;
|
||||||
|
@ -55,6 +55,7 @@ int yywrap()
|
|||||||
%token CAMERA;
|
%token CAMERA;
|
||||||
%token COLOR;
|
%token COLOR;
|
||||||
%token HEIGHT;
|
%token HEIGHT;
|
||||||
|
%token INTERSECT;
|
||||||
%token LOOKAT;
|
%token LOOKAT;
|
||||||
%token MATERIAL;
|
%token MATERIAL;
|
||||||
%token MULTISAMPLE;
|
%token MULTISAMPLE;
|
||||||
@ -67,6 +68,8 @@ int yywrap()
|
|||||||
%token SHININESS;
|
%token SHININESS;
|
||||||
%token SIZE;
|
%token SIZE;
|
||||||
%token SPHERE;
|
%token SPHERE;
|
||||||
|
%token SUBTRACT;
|
||||||
|
%token UNION;
|
||||||
%token UP;
|
%token UP;
|
||||||
%token VFOV;
|
%token VFOV;
|
||||||
%token WIDTH;
|
%token WIDTH;
|
||||||
@ -77,6 +80,13 @@ scene: /* empty */
|
|||||||
| scene_spec { printf("Saw a scene\n"); }
|
| scene_spec { printf("Saw a scene\n"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
boolean_items: shape shape boolean_items_more
|
||||||
|
;
|
||||||
|
|
||||||
|
boolean_items_more: /* empty */
|
||||||
|
| material boolean_items_more
|
||||||
|
;
|
||||||
|
|
||||||
box: BOX LCURLY box_items RCURLY
|
box: BOX LCURLY box_items RCURLY
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -97,6 +107,9 @@ camera_item: POSITION vector
|
|||||||
| VFOV vector
|
| VFOV vector
|
||||||
;
|
;
|
||||||
|
|
||||||
|
intersect: INTERSECT LCURLY boolean_items RCURLY
|
||||||
|
;
|
||||||
|
|
||||||
material: MATERIAL LCURLY material_items RCURLY
|
material: MATERIAL LCURLY material_items RCURLY
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -134,6 +147,9 @@ scene_item: camera
|
|||||||
shape: plane
|
shape: plane
|
||||||
| sphere
|
| sphere
|
||||||
| box
|
| box
|
||||||
|
| union
|
||||||
|
| intersect
|
||||||
|
| subtract
|
||||||
;
|
;
|
||||||
|
|
||||||
shape_items: /* empty */
|
shape_items: /* empty */
|
||||||
@ -147,6 +163,12 @@ sphere_items: shape_items
|
|||||||
| RADIUS number sphere_items
|
| RADIUS number sphere_items
|
||||||
;
|
;
|
||||||
|
|
||||||
|
subtract: SUBTRACT LCURLY boolean_items RCURLY
|
||||||
|
;
|
||||||
|
|
||||||
|
union: UNION LCURLY boolean_items RCURLY
|
||||||
|
;
|
||||||
|
|
||||||
vector: LESS number COMMA number COMMA number GREATER
|
vector: LESS number COMMA number COMMA number GREATER
|
||||||
;
|
;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user