774 |
|
} else if ((op = getdobj(nam)) == NULL) { |
775 |
|
error(COMMAND, "unknown object"); |
776 |
|
return(0); |
777 |
< |
} else if ((op->drawcode = cn) == DO_LIGHT) |
778 |
< |
getdlights(op, 1); |
779 |
< |
else |
777 |
> |
} else if ((op->drawcode = cn) == DO_LIGHT) { |
778 |
> |
if (!getdlights(op, 1)) |
779 |
> |
error(COMMAND, "insufficient samples to light object"); |
780 |
> |
} else |
781 |
|
op->ol = NULL; |
782 |
|
|
783 |
|
if (dobj_lightsamp != NULL) { /* restore beam set */ |
852 |
|
return(1); |
853 |
|
/* set up general rendering params */ |
854 |
|
glGetBooleanv(GL_NORMALIZE, &normalizing); |
855 |
< |
glPushAttrib(GL_LIGHTING_BIT|GL_TRANSFORM_BIT| |
856 |
< |
GL_DEPTH_BUFFER_BIT|GL_POLYGON_BIT); |
855 |
> |
glPushAttrib(GL_LIGHTING_BIT|GL_TRANSFORM_BIT|GL_ENABLE_BIT| |
856 |
> |
GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT|GL_POLYGON_BIT); |
857 |
|
glDepthFunc(GL_LESS); |
858 |
|
glEnable(GL_DEPTH_TEST); |
859 |
|
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE); |