Hej,
W pierwszym przypadku zwracasz 1.0. 🙂 Ale spoko, domyśliłem się, że miało być return Occlusion
, bo po takiej zmianie otrzymuję właśnie RMSE = 25,67.
Obserwując wyjście z naszego renderera mam wrażenie, że odkryłeś buga w LLVMpipe, który tłumaczyłby "siatkowe artefakty", które widać na klipie, i których nie umiałem się pozbyć. Twój kod generuje poprawny obraz, którego wygenerowanie było moją intencją.
Otóż wygląda na to, że usunięty przez ciebie return
powoduje w LLVMpipe powrót całego 2x2 bloku pikseli, zamiast tylko lane'ów, na których warunek jest prawdą. Niestety, debugowanie JIT-owanego przez LLVM kodu nie jest prostym zadaniem...
W wolnej chwili zgłoszę problem w bugtrackerze Mesy, my w ramach konkursu będziemy modyfikować referencyjny shader, a następnie ponowimy ocenę zadania. Dzięki za zgłoszenie!