void Scene::render(Pixel* px, Vertex *eyePoint, double attenuation) { //create the zbuffer matrix int width = px->getWidth(); int height = px->getHeight(); Matrix* zbuffer = new Matrix(height, width); //rows come first //populate zbuffer with -1 for (int i = 1; i <= height; i++) { for (int j = 1; j <= width; j++) { zbuffer->setElement(i, j, -1.0); } } //loop over all the Instance instances in the Scene and render them ListIterator<TransformNode>* ioIter = transformNodes->iterator(); while (ioIter->hasNext()) { TransformNode* tn = ioIter->next(); tn->render(px, sceneTransform, zbuffer, ambientLight, pointLight, eyePoint, attenuation); } delete ioIter; delete zbuffer; }
void Scene::render(Pixel* px) { //Create zbuffer Matrix *zBuffer = new Matrix(px->getHeight(), px->getWidth()); for(int i=0 ; i<px->getHeight() ; i++) { for(int j=0 ; j<px->getWidth() ; j++) { zBuffer->setElement(i, j, -1); } } //loop over all the Instance instances in the Scene and render them ListIterator<TransformNode>* ioIter = transformNodes->iterator(); while (ioIter->hasNext()) { TransformNode* tn = ioIter->next(); tn->render(px, sceneTransform, zBuffer); } delete ioIter; }