+++ /dev/null
-API
-
-- jobb på GPUen, glReadPixels() tilbake
- - asynkrone reads?
-- input/output: pixelarray [seinere: tekstur]
- - fargerom (gammakurve, XYZ-primaries? hvordan konverterer man fra chromacity-koordinater for hvitpunkt?)
- - YUYV inn? subsamplet input inn?
- - RGBA fp16 internt
- - hva gjør vi med f.eks. Rec. 601 vs. Rec. 701? sRGB-fargerom hele veien internt?
-- lang kjede av effekter, rammeverket setter inn normaliseringer ved behov
- - GLSL, funksjoner ala
-
- #define INPUT_FUNCTION read_input
- half4 levels_1(float4 coord) {
- return INPUT_FUNCTION(coord) * half4(0.8f, 1.0f, 0.9f, 1.0f);
- }
- #undef INPUT_FUNCTION
- - kan erklære «will do many samples», dvs. rammeverket burde mellomlagre i tekstur
- - kan erklære «trenger mipmaps», i så fall vil alle innteksturer ha mipmaps
- (mipmaps for intermediates håndteres av GPUen)
- - parametre kommer inn via uniforms, så vi slipper å rekompilere for hver runde
- - ...og 1D-teksturer (for curves og slikt)
- - default: linear light (rammeverket konverterer fra/til ved behov)
- - optomalisering; kan erklære «don't care» (f.eks. mirror) => ignorer fargerom,
- pixels er opaque half4
-- pseudo-effekter kan kombinere flere andre (eks. blur=horiz+vert blur, glow=blur+add)
-- dissolves/fades => to inputs!
- - trenger vi en generell DAG her, mon tro?
- - utsett til seinere
-- trenger vi CPU-effekter?
-
-
-mål
-- bildekvalitet, men ikke for enhver pris
-- ytelse, men ikke for enhver pris
-- gpu støttet: intel/mesa, nvidia/proprietær