Wpis z mikrobloga

@Trismagist: ok ok, ale co innego napisać konwerter bitmapa to ascii, a co innego napisać w zasadzie silnik 3D dla ascii łącznie z tymi wszystkim operacjami przekształceń w przestrzeni ()
  • Odpowiedz
@SpeedFight: Raczej to samo. Do czasu rasteryzacji wszystko działa tak samo jak w normalnym silniku 3D, jedynie potem zamiast pakować kolor w 24 bity RGB mapujesz to do pary (kolor podstawowy, znak) identycznie jak w konwerterze wideo. Co więcej nie zdziwiłbym się jakby silnik wypluwał zwykłe bitmapy które dopiero przy wyświetleniu byłyby mapowane do ASCII.
  • Odpowiedz
@SpeedFight: Mała erata, bo popatrzyłem w gista i widzę że mapowanie jest robione per piksel i jest to raytracer a nie renderer oparty na macierzach i rasteryzacji. No ale w stosunku do normalnego raytracera robiącego:
Screen[pos] = Diffuse * 255
mamy
const char Shades[] = ".:*oe&#%@";
(...)
Screen[pos]
  • Odpowiedz