Plazma sayı 1, sayfa 61

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 61

return 0; }

Hepsi bu kadar. Yukarıda tanımlanan "buffer" dizisine 24 bitlik değerler vererek RGB (kırmızı, yeşil, mavi) renkler tanımlayabiliyorsunuz. Bunun haricinde geri kalan kullanım DOS'tan tanıdığımız 13h (320x200x256) moduyla aynı. Yani (x, y) koordinatına pixel basmak için buffer dizisinin [y * WIDTH + x]inci elemanına değer vermeniz gerekiyor. 320x200 çözünürlüğü için [(y << 8) + (y << 6) + x] şeklinde optimize edilebilir. Bu elemana vereceğiniz değer ise;

buffer[y * WIDTH + x] = (red << 16) | (green << 8) | blue;

Şeklinde ifade edilebilir. Buradaki "red", "green" ve "blue" 0-255 arası değer alabilen birer byte olarak verilmelidir.

Elbette ki TinyPTC kütüphanesinin yukarıdaki dosya haricinde 10 civarında program dosyası ve proje dosyaları var. Ancak siz yalnızca tek bir dosyayla uğraşarak istediğinizi yapabiliyorsunuz. Bunun yanı sıra "tinyptc.h" dosyasını düzenleyerek de projenin çeşitli parametrelerini değiştirmeniz mümkün. Örnek olarak projenin DirectDraw, GDI ya da VFW arabirimlerinden herhangi birini kullanmayı seçebiliyorsunuz. Ayrıca programınızın tam ekran ya da pencere modunda çalışmasını, pencere modunda çalışacaksa pencere özelliklerini bu dosyaya yalnızca comment (açıklama, yorum) sembolleri ekleyip çıkararak düzenleyebiliyorsunuz. Örnekler:

DirectDraw kullanmak için: #define __PTC_DDRAW__ //#define __PTC_GDI__ //#define __PTC_VFW__

GDI kullanmak için: //#define __PTC_DDRAW__ #define __PTC_GDI__ //#define __PTC_VFW__

VFW kullanmak için: //#define __PTC_DDRAW__ //#define __PTC_GDI__ #define __PTC_VFW__

TinyPTC'yi indirebileceğiniz web adresi:

http://gaffer.scene.org/tinyptc/

Eğer TinyPTC'yi Visual Studio ile kullanmak isterseniz işiniz çok kolay çünkü zaten yukarıdaki linkten indirebileceğiniz örnek proje Visual Studio 6.0 için hazır geliyor. VS.NET'e de kolayca çevrilebiliyor.

Ancak TinyPTC Assembler da kullanıldığı için proje derlenirken NASM'ye ihtiyaç duyuyor. Bu tool elinizde yoksa aşağıdaki adreslerden indirebilir ve kurabilirsiniz.

http://www.geocities.com/SiliconValley/Heights/1295/ http://nasm.sourceforge.net/doc/html/ nasmdoc1.html

Projeyi LCC ile derlemek isterseniz projede yalnızca bir iki küçük değişiklik yapmanız gerekiyor. Bunun haricinde üretilen objeleri linkleyecek bir batch dosyası hazırlamanız ya da LCC için yazılmış bir arabirim bulup bu arabirimden linker ayarlarını yapmanız gerekiyor. LCC ile kullanım için bir batch dosyası örneği:

compile.bat @echo off del test.exe del ddraw.obj del convert.obj del test.obj lcc ddraw.c -nw lcc convert.c @echo on lcc test.c lcclnk test.obj mmx.obj ddraw.obj convert.obj -o test.exe - subsystem windows pause test

Ancak LCC kullanmaya çalışırken başka problemler de yaşayabilirsiniz. Bunların hepsinin çözümleri Google'da biraz dolaşarak bulunabiliyor ancak kolay yolu seçmek isterseniz Visual C++ 6.0'ı tavsiye ederim.

Bu Yöntemlerin Başka Platformlar İçin Kullanılması:

Klavyeyle gezinmek için ← ve → tuşları.