GfxLab-2022-2023/src/xyz/marsavic/gfxlab/graphics3d/cameras/TransformedCamera.java
2022-12-20 15:32:12 +01:00

20 lines
473 B
Java

package xyz.marsavic.gfxlab.graphics3d.cameras;
import xyz.marsavic.geometry.Vector;
import xyz.marsavic.gfxlab.Transformation;
import xyz.marsavic.gfxlab.graphics3d.Camera;
import xyz.marsavic.gfxlab.graphics3d.Ray;
public record TransformedCamera (
Camera source,
Transformation transformation
) implements Camera {
@Override
public Ray exitingRay(Vector sensorPosition) {
Ray ray = source.exitingRay(sensorPosition);
return transformation.at(ray);
}
}