şükela:  tümü | bugün
  • bir 3d rendering teknigidir. visible area'daki her dikey cizgiyi adamin gozunden o aciya dogru bir sanal i$in cizerek hangi noktada bir duvara carpiyorsa orayi belli mesafede render etme teknigidir. yapisi itibariyle gercek 3d mapler yapilamaz.. ilk wolfenstein 3d'de kullanilmi$tir.
  • cok daha az isin kullandigi icin basit software rendering icin faydali olabilir (karmasikligi dusuktur*). ancak gunumuzun hardware tl ekran kartlari masaustu sistemlerde bu yonteme ihtiyaci ortadan kaldirmistir.
  • http://www.permadi.com/tutorial/raycast/index.html
    adresinden bu konuda güzel bilgilere ulaşabilirsiniz.
  • (bkz: raytracing)
  • video oyunlarında ateş edilen kişinin acaba vurulup vurulmadığı sorunsalını çözmek için de kullanılan, yamulmuyorsam ilk kez john carmack tarafından kullanılan algoritma. uygulaması çok zor olmayan fakat verimli bir şekilde uygulaması çok zor olan bir algoritma.

    edit: bir alttaki entry'e rağmen, ateş edilen kişinin acaba vurulup vurulmadığı sorunsalını çözmek için de kullanılan bir algoritma. buradaki de bağlacı algoritmanın asıl amacının bu olmadığını fakat bu amaçla da zamanın bir noktasında en az bir kişi tarafından kullanılmış olduğunu ifade eder. şahsen ben kullanmıştım oradan biliyorum. sonuçta ortada doğrusal bir hayali doğru var ve bu doğru bir x objesi ile kesişiyor mu hesaplamasını yapabiliyoruz. hatta ufak bir internet araştırması sonucu başka coder'ların da raycasting algoritmasını bu şekilde kullandığını görebiliyoruz.
  • john carmack tarafindan kullanilmistir evet, ve ilk wolfenstein 3d ile gorulmustur. fakat video oyunlarinda ates edilen kisinin acaba vurulup vurulmadigi sorununu cozmekle bir lgisi yok, algoritma tamamen her map elemaninin ki burada duvar ya da texture ile kaplanacak bir sey our (bkz: texture mapping) primitif bir nesne veyahut yere dik olacagi gibi geometrik kabuller uzerine raytracing'den ayrilir.

    raytracing nedir, gozunuzden cikabilecek her isin icin (diyelim ki soldan saga 320, yukaridan asagi 200 isina boleceksiniz, bunun her birinin projeksiyona carptigi nokta bir pixel olacak, projeksiyon yani ekran cozunurlugunuz bu durumda 320x200 olur) ayri ayri hesaplama yapar. raycasting ise sadece yatay dilimlere gore islem yaparak dikey dilimler icin yapilacak hesaplama agirligini kaldirir ortadan. ne demistik, duvarlar hep yere dik olacak, boylelikle bir dikey hesaplama kulfetinden kurtulmus olduk mesela.

    raycasting, aslinda raytracing'in gercek zamanda (bkz: real time) uygulanabilir bir versiyonudur, en azindan 1993 senesine gore. wolfenstein 3d oyununda haritalanmis bir labirentin icinde 3d bir algi, projeksiyonun yukaridaki paragrafta izah ettigim geometrik kabulleri ile raycasting'e gore hesaplanmasiyla olusturulmasindan ibarettir.
  • 2d bir ortamdan 3d bir obje seçebilmeye de olanak sağlayan yöntem. tamamen javascript ile yaptığım bir demo buradan izlenebilir.
  • wolfenstein 3doyununda ekran dikey olarak parçalara bölüp, hazırlanan 2d bir harita üzerinde oyuncunun konumuna ve baktığı yöne göre bir ışın gönderilip, ışının değdiği
    objenin, ışın uzaklığına oranla ekrana dikey ortalanarak çizilmesidir.

    sadece bir render tekniği değil, collision test için de oldukça yaygın bir tekniktir. ray tracing ile karıştırmamak gerekir. detaylı sahnelerde, spatial partitioning ile beraber kullanılmamsı ciddi bottle neck yaratabilir. çoğu engine en azından aabb desteklediğinden, engine üzerinde kullanımı oldukça kolaydır.