Refactor
code ist jetzt schner aber ich habe durch einen pointer fehler in raytrace.c (nearestObject = ¤tObject //zeigt immer auf die selbne adresse) ein art negativ bild erzeugt
This commit is contained in:
+15
-16
@@ -39,25 +39,24 @@ void exampleSphere( int width, int height, int channels, unsigned char **image)
|
||||
vec3 sphereOrigin = (vec3){0,-1.5,5};
|
||||
double sphereRadius = 1.0;
|
||||
int objectCount = 7;
|
||||
sphere obj1 = (sphere){sphereOrigin, sphereRadius,(RGBA){1,0.5,1,1},0};
|
||||
sphere **objectList = (sphere **) calloc(objectCount+1, sizeof(sphere*));;
|
||||
objectList[0] = &obj1;
|
||||
sphere obj2 = (sphere){vec3Add(sphereOrigin, (vec3){3,0,0}), sphereRadius, (RGBA){1,1,0.5,1},0};
|
||||
objectList[1] = &obj2;
|
||||
sphere obj3 = (sphere){vec3Add(sphereOrigin, (vec3){-2,1,0}), sphereRadius, (RGBA){1,1,1,1},0};
|
||||
objectList[2] = &obj3;
|
||||
sphere obj4 = (sphere){vec3Add(sphereOrigin, (vec3){1,1,3}), sphereRadius, (RGBA){0.5,1,1,1},0};
|
||||
objectList[3] = &obj4;
|
||||
sphere light1 = (sphere){(vec3){1,1,4.5}, sphereRadius, (RGBA){1,1,1,1},1};
|
||||
objectList[4] = &light1;
|
||||
sphere obj5 = (sphere){(vec3){0, -6, 6.5}, 5, (RGBA){1,0.2,0.6,1},0};
|
||||
objectList[5] = &obj5;
|
||||
sphere light2 = (sphere){(vec3){1,-2,4}, sphereRadius, (RGBA){1,1,1,1},1};
|
||||
objectList[6] = &light2;
|
||||
object objectList[objectCount];
|
||||
sphere obj1 = (sphere){sphereOrigin, sphereRadius,(RGBA){1,0.5,1,1}};
|
||||
objectList[0] = (object){0, &obj1, 0};
|
||||
sphere obj2 = (sphere){vec3Add(sphereOrigin, (vec3){3,0,0}), sphereRadius, (RGBA){1,1,0.5,1}};
|
||||
objectList[1] = (object){0, &obj2, 0};
|
||||
sphere obj3 = (sphere){vec3Add(sphereOrigin, (vec3){-2,1,0}), sphereRadius, (RGBA){1,1,1,1}};
|
||||
objectList[2] = (object){0, &obj3, 0};
|
||||
sphere obj4 = (sphere){vec3Add(sphereOrigin, (vec3){1,1,3}), sphereRadius, (RGBA){0.5,1,1,1}};
|
||||
objectList[3] = (object){0, &obj4, 0};
|
||||
sphere light1 = (sphere){(vec3){1,1,4.5}, sphereRadius, (RGBA){1,1,1,1}};
|
||||
objectList[4] = (object){0, &light1, 1};
|
||||
sphere obj5 = (sphere){(vec3){0, -6, 6.5}, 5, (RGBA){1,0.2,0.6,1}};
|
||||
objectList[5] = (object){0, &obj5, 0};
|
||||
sphere light2 = (sphere){(vec3){1,-2,4}, sphereRadius, (RGBA){1,1,1,1}};
|
||||
objectList[6] = (object){0, &light2, 1};
|
||||
|
||||
|
||||
|
||||
displaySzene(objectList, objectCount, cam1, width, height, channels, image);
|
||||
|
||||
free(objectList);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user