int main(int argc, char **argv) {

    printf("initializing\n");
    initializeBitmap();
    initializeLight();

    //testRay();
    //testTree();
    //buildTestScene1();
    buildTestScene2();

    printf("begin raytracing\n");
    long long timestampBeforeRender = getTime();
    raytraceScene();
    long long timestampAfterRender = getTime();
    printf(" rendering took %ld ms\n",(timestampAfterRender- timestampBeforeRender));
    printf("finished raytracing\n");

    printf("rays - created: %d executed: %d \n", countRayCreated, countRayExecuted);

    glutInit(&argc, argv);

    glutInitWindowSize(IMAGE_WIDTH, IMAGE_HEIGHT);
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGBA );

    glutCreateWindow("RayTracer");
    glutDisplayFunc(DisplayFunc);
    glutKeyboardFunc(HandleKeys);

    glutIdleFunc(idleFunc);

    glutMainLoop();

    return 0;
}
示例#2
0
RenderPoint::RenderPoint( int width, int height ) : mWidth( width ), mHeight( height )
{
	mBuffer = new Pixel[width * height];
	initializeBitmap();
}