• Zooming is not working

  • should i scale perspectiv with window size or screen size ?

  • The albpha blending equation ?

  • Some triangles are culled in multithreaded mc - 22/4

  • Use a unique ptr insted of a new allocation for a buffer of the dicoms - 22/4

  • Figure a better way for memory

  • Use a struct of 3 floats instead of pushing 3 times

  • The initial lag that happens sometimes is probably due to reading a garbage value, because the primitive count is sometimes a large number

TODOS:

  • Only use a single SSBO for drawing all data and no VBOs
  • delegate the cacluation of cov to the CPU
  • Write a shader loader
  • understand the weird projetion matrix meaning
  • hfov-focal ??

Important graphics noets

  • perspective division is automatically done to any vec4 assigned to gl_Position. The division is done during rasterization stage

Differences

Normalized quaternion Unnormlized quaternions

The gaussians still kind of feel off, but it isnt due to sorting, maybe it is because of the quads

focal length stuff

float mid = (cov2d[0][0] + cov2d[1][1]) / 2.0;
float radius = length(vec2((cov2d[0][0] - cov2d[1][1]) / 2.0, cov2d[0][1]));
float lambda1 = mid + radius, lambda2 = mid - radius;
 
if(lambda2 < 0.0) return;
vec2 diagonalVector = normalize(vec2(cov2d[0][1], lambda1 - cov2d[0][0]));
vec2 majorAxis = min(sqrt(2.0 * lambda1), 1024.0) * diagonalVector;
vec2 minorAxis = min(sqrt(2.0 * lambda2), 1024.0) * vec2(diagonalVector.y, -diagonalVe

The problems are in the weird quad calculation