void drawsp(SceneHandle scene) { int i; apitexture p1; apivector ct1, n1; for (i=0; i<NUMSP; i++) { sp[i].voidtex = rt_texture(scene, &sp[i].tex); rt_sphere(scene, sp[i].voidtex, sp[i].ctr, sp[i].rad); } p1.col.r=1.0; p1.col.g=1.0; p1.col.b=1.0; p1.ambient=0.1; p1.diffuse=0.5; p1.specular=0.4; p1.opacity=1.0; ct1.x=0.0; ct1.y=-1.10; ct1.z=0.0; n1.x=0.0; n1.y=1.0; n1.z=0.0; rt_plane(scene, rt_texture(scene, &p1), ct1, n1); }
static errcode GetPlane(parsehandle * ph, SceneHandle scene) { apivector normal; apivector ctr; void * tex; errcode rc; rc = GetString(ph, "CENTER"); rc |= GetVector(ph, &ctr); rc |= GetString(ph, "NORMAL"); rc |= GetVector(ph, &normal); rc |= GetTexture(ph, scene, &tex); rt_plane(scene, tex, ctr, normal); return rc; }
static errcode GetPlane(FILE * dfile) { vector normal; vector ctr; void * tex; errcode rc; rc = GetString(dfile, "CENTER"); rc |= GetVector(dfile, &ctr); rc |= GetString(dfile, "NORMAL"); rc |= GetVector(dfile, &normal); rc |= GetTexture(dfile, &tex); rt_plane(tex, ctr, normal); return rc; }