DirectX: Trójwymiarowy labirynt od podstaw - Część II

17.03.2010 - Adam Błaszkiewicz
TrudnośćTrudność

W poprzednim artykule utworzyliśmy proste okno w WinApi i wyrenderowaliśmy w nim oteksturowany trójkąt za pomocą Direct3D. Teraz, mając na celu zaprogramowanie trójwymiarowego labiryntu, zajmiemy się mniej technicznymi rzeczami i napiszemy kod bezpośrednio dotyczący samego labiryntu. Nie będziemy wykorzystywać praktycznie niczego nowego, wystarczy nam sama znajomość C++ i wiedza zdobyta podczas czytania poprzedniego artykułu. Wciąż będziemy pisać program dość nieelegancko, nie dzieląc na funkcje dużych bloków kodu, nie mówiąc już o zasadach programowania obiektowego; najważniejsze będzie dla nas napisanie labiryntu w możliwie prosty sposób. Tak, aby jednocześnie jasno było widać kolejność wykonywania instrukcji, bez konieczności "skakania" po funkcjach podczas analizowania kodu.

Otwórzmy projekt z poprzedniego artykułu, dostępny w ramce powyżej.

Na dobry początek, dołączmy do naszego programu odpowiednie biblioteki. Będziemy korzystać z <fstream> w celu wczytania mapy labiryntu z pliku, a <vector> przyda nam się, aby przechowywać tę mapę w pamięci:

1
2
#include <fstream>
#include <vector>

Dla wygody, będziemy używać implicite przestrzeni nazw std (co też raczej nie jest eleganckie):

1
using namespace std;

Dodajmy konstruktor do naszej struktury wierzchołka (pozwoli to na łatwiejsze tworzenie nowych wierzchołków):

1
2
3
4
5
6
7
struct Vertex
{
        Vertex(FLOAT x, FLOAT y, FLOAT z, FLOAT u, FLOAT v) :
                x(x), y(y), z(z), u(u), v(v) {}
        FLOAT x, y, z;
        FLOAT u, v;
};

5
Twoja ocena: Brak Ocena: 5 (1 ocena)

Copyright © 2008-2010 Wrocławski Portal Informatyczny

design: rafalpolito.com