Publications

Zjazd Twórców Gier 2012 - Relacja

(Polish) Relacja ze Zjazdu Twórców Gier, który odbył się 27-28 października 2012 w Poznaniu.

Date: 2012-11-12

C++/CLI Tutorial

The article describes C++/CLI programming language. From it you can discover features and advantages of this language and learn its syntax. C++/CLI is an extension to C++ made by Microsoft and available in Visual Studio / Visual C++ IDE. At the same time it is one of the languages of .NET platform, next to C# or VB.NET. With it you can freely mix native and managed code, which gives extraordinary power in some applications.

Date: 2011-12-01

Download:
CPP_CLI_tutorial.pdf (1.15 MB)
CPP_CLI_tutorial_samples.zip (60.77 KB)

Tworzenie wydajnego kodu c++ w podejściu zorientowanym na dane

(Polish) Prezentacja do prelekcji wygłoszonej podczas VIII Ogólnopolskiej Konferencji Inżynierii Gier Komputerowych IGK'8-2011 w Siedlcach.

Autorzy: Adam Sawicki i Tomasz Dąbrowski.

Streszczenie referatu: Artykuł opisuje wady programowania obiektowego - zarówno od strony projektowej, jak i ze względu na wydajność kodu. Porusza problem opóźnienia w dostępie do pamięci RAM we współczesnych architekturach komputerowych. Przedstawia programowanie zorientowane na dane (ang. DOD - Data-Oriented Design) jako alternatywne podejście do projektowania i implementowania silnika gry kładące nacisk na optymalizację struktur danych pod kątem szybkości. Porusza także problem wydajności poszczególnych konstrukcji języka C++.

Date: 2011-03-26

Download:
IGK2011_Dabrowski_Sawicki_slides.pdf (2.93 MB)

Pułapki programowania obiektowego

"Pitfalls of Object-Oriented Programming" [Polish] Prezentacja do wykładu przygotowanego na Koło Naukowe Twórców Gier "Polygon" na Politechnice Warszawskiej, a w drugiej wersji wygłoszonego także na AGH w Krakowie.

Opracowana na podstawie tekstu Fanatyzm obiektowy, przedstawia krytyczne podejście do projektowania i programowania obiektowego (m.in. pisania wrapperów na używane biblioteki, nadmiernej generalizacji, nadużywania dziedziczenia, enkapsulacji, wzorców projektowych) oraz jego negatywny wpływ na prostotę i czytelność kodu. Jako alternatywę prezentuje podejście DOD (Data-Oriented Design).

Date: 2011-03-30

Download:
Pulapki_programowania_obiektowego_v2.pdf (1.57 MB)
Pulapki_programowania_obiektowego_v2.pptx (2.41 MB)

C++ w programowaniu gier

"C++ in game programming" [Polish] Prezentacja do wykładu przygotowanego na Koło Naukowe Twórców Gier "Polygon" przy Politechnice Warszawskiej. Opisuje: dlaczego do programowania gier używa się właśnie języka C++, co stosować, a czego unikać, aby pisany kod był dobry i przede wszystkim wydajny w działaniu.

Date: 2010-10-30

Download:
C++ w programowaniu gier.pdf (537.31 KB)
C++ w programowaniu gier.pptx (430.66 KB)

Architecture and Implementation of 3D Graphics Engine

My master thesis. It describes my graphics engine "The Final Quest". It includes literature overview, description of my engine architecture (layers, modules, classes and fields) and implementation details (rendering process organization, shader code explanation, skeletal animation computations, particle effects implementation, model file format and more).

Date: 2008-06-16

Download:
Adam Sawicki - Praca mgr.pdf (4.68 MB)

Własny VFS - wtyczka do Total Commandera

Pisanie wtyczki do Total Commandera do obsługi własnego formatu archiwum VFS.

Date: 2009-02-24

Zaawansowana kamera 3D

Artykuł jest bardzo długi i opisuje kilka zagadnień programistyczno-matematycznych dotyczących grafiki 3D: koncepcję kamery i jej implementację jako zestaw klas, rysowanie prostokątów zwróconych przodem do kamery (Billboard), w tym efektów cząsteczkowych, testowanie kolizji obiektów z polem widzenia kamery w celu nierysowania tego co niewidoczne (Frustum Culling) oraz testowanie kolizji promienia celem sprawdzania, który obiekt 3D gracz wskazał myszką (Picking). Dołączony kod zawiera spory kawałek mojej biblioteki matematycznej.

Date: 2008-06-05

Szybki alokator FreeList

Implementacja C++ klasy do własnego zarządzania pamięcią, która zarządza listą wolnych bloków i przydziela bloki duży szybciej, niż standardowy operator new.

Date: 2008-05-28

Preprocesor w shaderach HLSL

Dla wszystkich zających C++, Direct3D i HLSL. Artykuł opisuje metodę na poradzenie sobie z kompilowaniem shaderów z różnymi kombinacjami ustawień za pomocą makr preprocesora.

Date: 2008-05-22

Unicode w Visual C++

Co to jest Unicode i jak zacząć go używać w projektach Visual C++.

Date: 2008-05-21

Kwaterniony w praktyce

Dla tych którzy już znają wektory i macierze, artykuł wprowadza kwaterniony jako sposób reprezentowania obrotów i orientacji.

Date: 2008-05-20

Biblioteka FastDelegate

Opis darmowej biblioteki FastDelegate dostarczającej wskaźników na metody dla C++.

Date: 2008-05-19

Wydajność wczytywania tekstur w Direct3D 9 - Eksperyment

Wyniki eksperymentu mierzącego czas wczytywania tekstur w Direct3D 9 dla różnych formatów plików graficznych i różnych ustawień.

Date: 2008-02-03

Direct3D 9 - Wykład

Prezentacja do wykładu na temat Direct3D 9. Przegląd biblioteki od inicjalizacji, poprzez renderowanie trójkątów, bufory wierzchołków i indeksów, teksturowanie, oświetlenie aż do shaderów. Ma 96 slajdów.

Date: 2008-02-28

Download:
Direct3D9_Wyklad.pdf (1.49 MB)
Direct3D9_Wyklad.ppt (4.09 MB)
Direct3D9_Wyklad.pptx (2.77 MB)

Programowanie na komórki

Prezentacja do wykładu na temat J2ME, czyli programowania w języku Java midletów na komórki. Omawia bardziej lub mniej dokładnie wszystkie moduły wchodzące w skład standardu MIDP 2.0. Ma 98 slajdów.

Date: 2007-12-30

Download:
J2ME-Wyklad.pdf (714.21 KB)
J2ME-Wyklad.odp (576.55 KB)

IGK 2007 - Relacja

IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych - relacja z tego ważnego dla mnie wydarzenia, które odbyło się w dniach 23-25 marca 2007 w Akademii Podlaskiej w Siedlcach.

Date: 2007-03-28

Precompiled Headers w Visual C++

Przystępny i praktyczny opis, jak użyć mechanizmu Precompiled Headers w Visual C++, żeby wielokrotnie przyspieszyć kompilację swoich programów.

Date: 2007-05-25

Direct3D

Cykl artykułów obejmujący kurs programowania w Direct3D z użyciem C++, powoli i od podstaw. Uczy jak napisać szkielet aplikacji DirectX itd. Nastawiony jest na programowanie gier 2D. Ukazał się na łamach magazynu WARP.

Wielka Warsztatowa Ankieta 2008

Wyniki projektu badań statystycznych w celu poznanie cech i preferencji ludzi z Warsztatu. Edycja trzecia - rok 2008. Opracowane wyniki.

Date: 2008-08-15

Wielka Warsztatowa Ankieta 2006

Wyniki projektu badań statystycznych w celu poznanie cech i preferencji ludzi z Warsztatu. Edycja druga - rok 2006.

Date: 2006-10-27

Asynchroniczna konsola Windows

Implementacja konsoli z użyciem mechanizmu systemowego Windows działającej w sposób asynchroniczny.

Date: 2006-08-08

Rzutowanie typów w C++

Artykuł przedstawia badanie zachowania się w praktyce różnych metod rzutowania wartości między różnymi prostymi typami danych w języku C++.

Date: 2006-06-17

FMOD, czyli programowanie dźwięku do gry

Kurs obsługi biblioteki FMOD do implementacji dźwięku i muzyki (także 3D) w grach komputerowych.

Artykuł ukazał się na łamach magazynu elektronicznego WARP w numerze WARP 2.0 Digital 10 (09/2006). Od drugiej połowy grudnia 2006 numer ten jest dostępny za darmo do pobrania. Jak pobrać? 1. Wejść na stronę WARP. 2. Dział Download. 3. Kliknąć na obrazek pod "Magazyn WARP 2.0 Digital (format PDF)". 4. Pobrać numer "WARP 2.0 Digital nr 10 (wrzesień 2006)". 5. Znaleźć mój artykuł w spisie treści.

Date: 2006-06-04

Szybkie, heurystyczne przeszukiwanie dysku

Artykuł prezentuje algorytm, który przeszukując katalogi dysku twardego użytkownika pozwala odnaleźć potrzebny plik w czasie wielokrotnie krótszym, niż podczas tradycyjnego, rekurencyjnego przeszukiwania dysków dzięki zastosowaniu prostej heurystyki i wiedzy o konkretnym problemie.

Date: 2007-02-28

Wielka Warsztatowa Ankieta

Wyniki projektu badań statystycznych w celu poznanie cech i preferencji ludzi z Warsztatu.

Date: 2004-08-25

Struktury danych i formaty plików

Artykuł opisuje podstawowe struktury danych (jak wektor, lista, drzewo i inne) oraz operacje na plikach i tworzenie własnych formatów plików.

Date: 2004-05-14

Reprezentacja danych w pamięci

Artykuł obejmuje zagadnienia związane z podstawami informatyki. Opisuje sposób, w jaki komputer reprezentuje informacje na najniższym poziomie - za pomocą pojedynczych zer i jedynek. Dostępny jest w wersji HTML, PDF i DOC. Licencja: GNU FDL.

Date: 2004-01-03

Download:
D_B.pdf (853.24 KB)
D_B.doc (623 KB)

Compo - Porady

Krótki zbiór porad i sugestii, jak pisać dobre prace na konkurs Compo.

Date: 2005-09-06

Programowanie bota Eggdrop w języku TCL

Pięcioczęściowy kurs pisania botów IRC.

Date: 2003-12-12

Download:
eggdrop_tcl.zip (90.14 KB)

STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2013 Adam Sawicki
Copyright © 2004-2013 Adam Sawicki