Warsztat.GD

Programowanie => Inne => Wątek zaczęty przez: kezcinwołs w Kwiecień 24, 2010, 18:14:07

Tytuł: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 24, 2010, 18:14:07
Możliwe że zły dział, ale nie znalazłem działu "pomoc" lub "pytania", czy "problemy". Gdy próbuję skompilować następujący kod:

#include <d3dx9.h>
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")
 
IDirect3D9* pD3D;
IDirect3DDevice9* pDev;
 
HWND hWnd;
 
void InitWindow()
{
//  ...
}
int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    InitWindow();
     
    pD3D = Direct3DCreate9(D3D_SDK_VERSION);
 
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.Windowed = true;
    d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
     
    pD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
        D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &pDev);
 
    MSG msg;
    while(1)
    {
        if (PeekMessage(&msg, 0, 0U, 0U, PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
        else
        {
            pDev->Clear(0, 0, D3DCLEAR_TARGET, 0xff00ff00, 1, 0);
            pDev->BeginScene();
            pDev->EndScene();
            pDev->Present(0, 0, 0, 0);
        }
    }
    pDev->Release();
    pD3D->Release();
}

Wyskakują mi następujące błędy:

(http://img265.imageshack.us/img265/7382/image2um.jpg)

Jest to kod w języku Direct3D który jest tu http://www.warsztat.gd/tutorials.php?x=view&id=329 (http://www.warsztat.gd/tutorials.php?x=view&id=329)


Problem tkwi w dołączeniu jakiejś biblioteki, czy co?... Pomocy  :'(
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Kos w Kwiecień 24, 2010, 18:18:10
Dev-C++ się nie używa. Ale fakt, że dziwny błąd - to IDE ma tysiące błędów, ale akurat taki...?
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 24, 2010, 18:26:54
Ten błąd, z tego co rozumiem, dotyczy pliku d3d9.h z folderu include. Możliwe że błąd wynika z tego że używam dev-c++, code::blocks nie używam dlatego że miałem problem z ustawieniem lokacji Direct SDK, pisało ciągle "The path you entered seems valid, but this wizard can't locate direct/X's files in it...", z kolei w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++ a nie C++ i nie na każdym komputerze działają aplikacje w tym robione. Może się mylę? Co mam wybrać?
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Vx-x. w Kwiecień 24, 2010, 18:33:55
z kolei w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++ a nie C++ i nie na każdym komputerze działają aplikacje w tym robione. Może się mylę? Co mam wybrać?
Przepraszam adminów, przepraszam Ciebie -> ale pierdzielisz jak potłuczony.

@EDIT: No ok, chyba że korzystasz z linuxa.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: ropuch w Kwiecień 24, 2010, 18:46:39
Cytuj
W tutorialu zakładam znajomość języka C++ w stopniu pozwalającym na swobodne posługiwanie się nim.

Niestety ten tutorial jeszcze nie jest dla ciebie.
Najpierw poznaj środowisko i język, a dopiero potem zajmij się DirectX.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Paweł w Kwiecień 24, 2010, 18:50:31
W code::blocks nie używaj skryptu tworzącego nowy projekt. Pisany był jeśli mnie pamięć nie myli do D3D8. Stwórz nowy (pusty) projekt i ręcznie dodaj biblioteki  i nagłówki DX'a (możesz też dodać w Settings-> Global vatiables odpowiedni wpis) . Skoro nie chcesz Visuala to pewnie używsz g++ dołączonego do IDE ? Jeśli tak to ściągnij nowsze MinGw (nawet jeśli zostaniesz przy devie; masz tam przerobione nagłówki directa).
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: ShadowDancer w Kwiecień 24, 2010, 19:45:30
w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++ a nie C++
To, że microsoft chce ci ułatwić życie nie oznacza, że musisz z tego korzystać.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Nargil w Kwiecień 24, 2010, 19:49:34
Dev ma specjalny program do konfiguracji. Nazywa się UNINSTALL
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 24, 2010, 20:01:56
Boo, mam to global vatiables, ale nie wiem co wpisać w niektóre pola:

(http://img23.imageshack.us/img23/4600/image3sia.jpg)

Co wpisać w obj, cflags, lflags? I user-defined fields? Obawiam się że w tym tkwi problem.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Paweł w Kwiecień 24, 2010, 20:51:44
Zmień tylko pole lib: E:\directx SDK\Lib\x86Następnie: Project->Properities-> project's Build options->search directories.
W compiler dodajesz:
$(#dx.include)
W liker dodajesz:
$(#dx.lib)
No i musisz jeszcze zlinkować bibloteki directxa.

Cytuj
Co wpisać w obj, cflags, lflags? I user-defined fields? Obawiam się że w tym tkwi problem.
Olej to.

EDIT:
Cytuj
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")
Cytuj
z kolei w visual studio 2008 odstrasza mnie to że to wszystko to jęcyk VC++
Te pragmy to włśnie rozszerzenie Visuala. Coś cie odstrasza, ale sam niewiesz co.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Vipa w Kwiecień 24, 2010, 23:32:26
Nieee no jasne! DevC++ ma 1K błędów! Z czego większość z nich to brak umiejętności czytania ze zrozumieniem. Szczególnie polecam osobom, mającym w podpisie szykany na niego.
Pytanie: ile osób zagłębiło się w temat, większość pewnie odpadła na "devcpp" ale trzeba wziąć pod nawias ogólnego trendu, który jak wszystko - przeminie. Tak naprawdę to ciekawe ile osób używa XP (system sprzed 9 lat), "kodeków" sprzed pięciu, instaluje 10-tki programów robiących to samo (winamp, allplayer itp.), komunikatorów, które w 10% funkcjonalnością nie wykraczają po za wypisywanie reklam itd.

Dajcie se na luz. Nie potraficie rozwiązać tak prostego problemu, to nie piszcie że Dev jest zły, odpal Google, nie dawajcie linków do których dostęp po roku jest niemożliwy itd. Dajcie se na luz. Inaczej większość osób jak ja i inni co raz rzadziej będą odwiedzać te forum i odpowiadać na pytania.

Większość osób pyta nie o jakieś skomplikowane problemy tylko o podstawy. Te się nie zmieniły od dziesiątek lat. Jaki jest sens rzucać od razu inwektywy względem tej osoby? To, że używa czegoś sprzed 5 lat, nie świadczy o braku chęci nauczenia się czegokolwiek. Jak już nie ma co pisać to odpalcie sobie naszą klasę czy inne mózgojeby i tam się wyżywajcie. Proste? Proste.

Sorki, ale ja mam już dosyć tego forum.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Xirdus w Kwiecień 25, 2010, 12:34:24
Pytanie: ile osób zagłębiło się w temat, większość pewnie odpadła na "devcpp" ale trzeba wziąć pod nawias ogólnego trendu, który jak wszystko - przeminie.
Ja tu żadnego pytania nie widzę. Przeczytałem raz, drugi, piąty, i nie wiem, jakie pytanie chciałeś zadać.
Tak naprawdę to ciekawe ile osób używa XP (system sprzed 9 lat), "kodeków" sprzed pięciu, instaluje 10-tki programów robiących to samo (winamp, allplayer itp.), komunikatorów, które w 10% funkcjonalnością nie wykraczają po za wypisywanie reklam itd.
XP używają z przyzwyczajenia (działa, po co zmieniać?). Kodeki też (działają, po co zmieniać?). WinAmp od muzyki, AllPlayer od filmów. GG też z przyzwyczajenia (zazwyczaj działa, po co zmieniać?). A Dev-C++? To jest dla tych, o kim mówimy nowość, więc nie ma mowy o żadnym przyzwyczajeniu. Skoro jeszcze nie ma złych nawyków, trzeba się starać wprowadzić dobre nawyki.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 25, 2010, 14:29:50
Dobra, dobra... teraz przy kompilowaniu mam taki błąd:

(http://img175.imageshack.us/img175/1249/linkingstageskipped.png)

czy jest on spowodowany tym że nie ma plików d3d9.lib i d3dx9.lib? Jeśli tak to do jakiego folderu mam je wsadzić? W dev-c++ wsadziłem to do E:\Dev-Cpp\lib a w code::blocks nie wiem gdzie mam je włożyć, no i nie wiem czy to napewno przez brak tych plików jest ten błąd... Wywnioskowałem to z tego "linking stage skipped", czyli coś z tymi zlinkowanymi bibliotekami nie tak chyba.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Vx-x. w Kwiecień 25, 2010, 14:52:04
Jeśli chcesz pisać w DX to najlepiej zrobisz używając VC, a co do twojego błędu -> sprawdzasz gdzie masz kompilator (jeśli pobrałeś C::B z MinGW, to liby możesz dać do CodeBlocks/MinGW/lib) i tam będziesz miał też katalogi lib i include.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 25, 2010, 15:05:03
A jeśli bym pisał w VC, to żeby uruchomić aplikacje pisane w VC na jakimś innym komputerze, to musiałbym jeszcze instalować jakieś dodatkowe coś? W sensie że np. jak piszę coś w net framework to żeby to uruchomić na innym komputerze to musi być na nim zainstalowany net framework, to tak samo z tym VC? Czy będzie działało bez problemu?
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: sir_xeno w Kwiecień 25, 2010, 15:10:26
Nie musiałbyś. Przyznaj, że nie czytałeś nawet Warsztat FAQ (http://wiki.warsztat.gd/Warsztat_FAQ#M.C3.B3j_program_nie_dzia.C5.82a_u_kolegi). :P
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 26, 2010, 17:28:13
Dobra... robię nowy projekt w visual studio 2008, wklejam ten kod, i... co mu teraz dolega? Błąd przy kompilowaniu:

(http://img214.imageshack.us/img214/6203/grzybycojawamzrobi.jpg)

żeby mi się udało skonfigurować wreszcie jakiś kompilator tak żebym mógł spokojnie na nim pisać w directx... tylko to, reszta jakoś pójdzie...
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: rm-f w Kwiecień 26, 2010, 17:48:43
Temat powinien polecieć do POL chyba że, wyszukiwarka sieciowa i msdn przestały dziś istnieć ?  ???
Podpowiem że pierwszy wynik z wyszukiwarki o nazwie google wyjaśnia sprawę.


// Panie świrus, dostajesz Pan 48-godzinnego za publiczne wygłaszanie swoich "światłych" opinii o tym, które wątki mają lądować w PoL, a które nie. Od tego są moderatorzy, a takie posty niczemu nie służą i tylko obrażają OP. Niech to będzie też ostrzeżenie dla innych.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 27, 2010, 13:02:22
Proszę o konkrety... Jestem zagubiony, w takich wypadkach najlepiej przeanalizować wszystko od A do Z. Jest dla mnie ważne żeby zrobić cokolwiek trójwymiarowego w directx, żeby mieć 6 z informatyki i 20pkt. do przodu wliczone za test gimnazjalny, aby dostać się do jakiegoś cholernego liceum. Kompilator- visual studio 2008. File->new->project->Visual C++ rozwijam listę->win32->win32 project->nazwa, ok-> next-> app. type windows app. aditional options zaznaczam empty project i finish. No i mam sobie szary ekran, bez "empty file" w którym mogę coś napisać. Więc biorę file->new->file...->rozwijam web i wybieram visual c++ i potem c++ file .cpp i open. Wklejam kodzik, build->build(nazwa projektu) i mam tego errora. I teraz proszę od A do Z, bez nie domówień, co zrobiłem źle? Albo co powinienem zrobić? Do bani...
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Kos w Kwiecień 27, 2010, 13:11:22
My tu chętnie pomagamy, ale... Mamy _diagnozować_ problem za Ciebie? Chcesz być programistą czy nie? :)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Joker w Kwiecień 27, 2010, 13:27:36
Cytuj
Jest dla mnie ważne żeby zrobić cokolwiek trójwymiarowego w directx, żeby mieć 6 z informatyki i 20pkt. do przodu wliczone za test gimnazjalny, aby dostać się do jakiegoś cholernego liceum.
Ojej, najwyżej pójdziesz do zawodówki. :D W sumie to było by chyba nawet lepiej (o ile sam swojego problemu nie rozwiążesz.)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: _OskaR w Kwiecień 27, 2010, 17:44:22
Proszę o konkrety... Jestem zagubiony, w takich wypadkach najlepiej przeanalizować wszystko od A do Z. Jest dla mnie ważne żeby zrobić cokolwiek trójwymiarowego w directx, żeby mieć 6 z informatyki i 20pkt. do przodu wliczone za test gimnazjalny, aby dostać się do jakiegoś cholernego liceum. Kompilator- visual studio 2008. File->new->project->Visual C++ rozwijam listę->win32->win32 project->nazwa, ok-> next-> app. type windows app. aditional options zaznaczam empty project i finish. No i mam sobie szary ekran, bez "empty file" w którym mogę coś napisać. Więc biorę file->new->file...->rozwijam web i wybieram visual c++ i potem c++ file .cpp i open. Wklejam kodzik, build->build(nazwa projektu) i mam tego errora. I teraz proszę od A do Z, bez nie domówień, co zrobiłem źle? Albo co powinienem zrobić? Do bani...
http://www.google.pl/#hl=pl&source=hp&q=c1010070%3A+failed+to+load+and+parse+manifest&lr=&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=cdebb44b505a7970 - pierwszy wynik, pierwsza odpowiedź, trzeci podpunkcik - dokładnie to robisz. Stworzenie nowego pliku w niczym nie pomoże, jeśli nie będzie on powiązany z projektem. Możesz albo go powiązać z projektem, albo uprościć sobie sprawę w nieco inny sposób - wystarczy poszukać jak robić projekt w VS.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Ciunkos w Kwiecień 27, 2010, 18:15:56
"Od zera do w DirectX kodera"

1. Szukamy SDK do DirectX, które jest wymagane do pisania w nim programów i gier. Google hasło: "Microsoft DirectX SDK":
(http://screenup.pl/set/10-04/ssd1qdb.jpg)

2. Zazwyczaj pierwszy wynik jest poprawny:
(http://screenup.pl/set/10-04/wqokbm9.jpg)

3. Tu już kierujemy się sami(podstawowa znajomość angielskiego wymagana ;)):
(http://screenup.pl/set/10-04/p9i38gx.jpg)

4. Trzeba przejść test sprawdzający legalność systemu:
(http://screenup.pl/set/10-04/qugafe3.jpg)

5. Po przejściu możemy już pobierać:
(http://screenup.pl/set/10-04/dm1be3x.jpg)

6. Ruszyła maszyna i nikt nie zatrzyma...
(http://screenup.pl/set/10-04/k2ugrkk.jpg)
(http://screenup.pl/set/10-04/jd1yzhb.jpg)

7. Po pobraniu pliku z SDK rozpoczynamy jego instalację:
(http://screenup.pl/set/10-04/8yr9hrh.jpg)

8. Czytamy licencje i akceptujemy jej warunki:
(http://screenup.pl/set/10-04/mpopskc.jpg)

9. Możemy uczestniczyć w programie poprawy jakości lub z  niego zrezygnować:
(http://screenup.pl/set/10-04/ltysyip.jpg)

10. Wybieramy gdzie zainstalować SDK(domyślna lokacja wydaje się być najlepsza :))
(http://screenup.pl/set/10-04/kumo0j0.jpg)

11. Możemy wybrać składniki, które mają być zainstalowane:
(http://screenup.pl/set/10-04/fzmp9dj.jpg)

12. Musimy przeczekać proces instalacji:
(http://screenup.pl/set/10-04/16gpkof.jpg)

13. DirectX SDK zainstalowane - przy okazji możemy wziąć udział w ankiecie ;)
(http://screenup.pl/set/10-04/295dg4c.jpg)

14. Włączmy Visual C++ 2008:
(http://screenup.pl/set/10-04/2w5sous.jpg)

15. Włączmy menu ustawień środowiska:
(http://screenup.pl/set/10-04/k1b732b.jpg)

16. Przechodzimy do Projects and Solutions -> VC++ Directories i w Show Directories For wybieramy Include Files:
(http://screenup.pl/set/10-04/xevo1w3.jpg)

17. Klikając na ikonkę folderu dodajemy nowy wpis:
(http://screenup.pl/set/10-04/aaz1u9m.jpg)

18. Przechodzimy do folderu gdzie zainstalowaliśmy SDK i zaznaczamy folder Include oraz zatwierdzamy nasz wybór:
(http://screenup.pl/set/10-04/lyxxnue.jpg)

19. Tak powinien wyglądać ten wpis:
(http://screenup.pl/set/10-04/0ddlnfd.jpg)

20. Podobnie robimy teraz tylko tylko dla bibliotek:
(http://screenup.pl/set/10-04/u1pec47.jpg)

21. Dodajemy wpis:
(http://screenup.pl/set/10-04/rblru4v.jpg)

22. Wybieramy folder x86 i zatwierdzamy:
(http://screenup.pl/set/10-04/xneprjt.jpg)

23. Tak powinno to wyglądać:
(http://screenup.pl/set/10-04/ij4satp.jpg)

24. Tworzymy nowy projekt:
(http://screenup.pl/set/10-04/apgzluu.jpg)

25. Wybieramy aplikacje na 32 bitowy Windows i nadajemy nazwę:
(http://screenup.pl/set/10-04/vpyklcu.jpg)

26. Next:
(http://screenup.pl/set/10-04/anskux3.jpg)

27. Zaznaczamy Empty Project i kończymy pracę kreatora:
(http://screenup.pl/set/10-04/vphtfue.jpg)

28. Dodajemy plik źródłowy:
(http://screenup.pl/set/10-04/hn166ed.jpg)

29. Nazywamy go odpowiednio i wybieramy jego typ:
(http://screenup.pl/set/10-04/6tos4st.jpg)

30. Wklejamy kod(np. z tutoriala Charibo (http://charibo.wordpress.com/kurs-direct3d/inicjalizacja-direct3d-szablon-projektu/) ;))
(http://screenup.pl/set/10-04/oqd3x94.jpg)

31. Jeszcze kilka ustawień by program odpalił się u znajomych:
(http://screenup.pl/set/10-04/8ph7o9y.jpg)

32. Przełączamy z konfiguracji Debug na wszystkie:
(http://screenup.pl/set/10-04/vtvz3ef.jpg)

33. Przełączamy stringi z Unicode na ASCII:
(http://screenup.pl/set/10-04/ahr7tc1.jpg)

34. Przełączamy się do trybu Release:
(http://screenup.pl/set/10-04/k4lquuu.jpg)

35. Zapisujemy ustawienia:
(http://screenup.pl/set/10-04/gxdbvk4.jpg)

36. W zakładce zamieniamy Multi-threaded DLL na Multi-threaded:
(http://screenup.pl/set/10-04/3em04l2.jpg)

37. Tak to powinno wyglądać:
(http://screenup.pl/set/10-04/vvpszs8.jpg)

38. Chwila prawdy...
(http://screenup.pl/set/10-04/iffhwqe.jpg)

39. Sukces!
(http://screenup.pl/set/10-04/uyvjqbd.jpg)

Gdy będziesz wysyłał komuś program/grę to nie zapomnij przełączyć się na tryb Release:
(http://screenup.pl/set/10-04/9yak0td.jpg)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: ShadowDancer w Kwiecień 27, 2010, 20:39:28
Gdyby Vipa to zobaczył ;)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Netrix w Kwiecień 28, 2010, 12:18:27
"Od Zera do w DirectX Kodera"

[...]

Bardzo fajne, zrzuć to jak możesz na WIKI :).
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 28, 2010, 13:22:09
Jestem Ci bardzo wdzięczny za ten tutorial, mam jeszcze tylko jeden problem... Pojawia się on w punkcie "chwila prawdy", jak klikam continue obok debug:

(http://img530.imageshack.us/img530/9927/58400513.jpg)



EDIT

WRÓć! wszystko ok, problem tkwił tym razem w kodzie. Wkleiłem ten kod i zadziałało:



#include <windows.h>
#include <windowsx.h>
#include <d3d9.h>
 
#pragma comment(lib, "d3d9.lib")
//Global Declarations
VOID* pVoid;
LPDIRECT3D9 d3d; //Pointer to the Direct3D interface
LPDIRECT3DDEVICE9 d3ddev; //Pointer to the device class
LPDIRECT3DVERTEXBUFFER9 v_buffer = NULL; //Pointer to vertex buffer
 
//Function prototypes
void initD3D(HWND hWnd); //Sets up Direct3D
void render_frame(void); //Renders a frame
void cleanD3D(void); //Closes Direct3D and releases memory
void init_graphics(void);
 
//Default screen resolution
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
 
//Custom FVF
#define CUSTOMFVF (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)
 
//Vertex struct
struct CUSTOMVERTEX
{
   float x,y,z, rhw;
   DWORD color;
};
 
 
 
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam,LPARAM lParam);
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
   HWND hWnd;
 
   WNDCLASSEX wc;
 
   ZeroMemory(&wc, sizeof(WNDCLASSEX));
 
   wc.cbSize = sizeof(WNDCLASSEX);
   wc.style = CS_HREDRAW | CS_VREDRAW;
   wc.lpfnWndProc = WindowProc;
   wc.hInstance = hInstance;
   wc.hCursor = LoadCursor(NULL, IDC_ARROW);
   wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
   wc.lpszClassName = TEXT("WindowClass1");
 
   RegisterClassEx(&wc);
 
   hWnd = CreateWindowEx(NULL, TEXT("WindowClass1"), TEXT("First Window Program"),WS_EX_TOPMOST | WS_POPUP,0,0, SCREEN_WIDTH,SCREEN_HEIGHT, NULL, NULL, hInstance, NULL);
 
   ShowWindow(hWnd, nCmdShow);
 
   initD3D(hWnd);
 
   MSG msg;
 
   while(TRUE)
   {
      while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
      {
         TranslateMessage(&msg);
 
         DispatchMessage(&msg);
      }
 
      if(msg.message == WM_QUIT)
         break;
 
      render_frame();
   }
 
   cleanD3D();
 
   return msg.wParam;
}
 
 
 
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   switch(message)
   {
   case WM_DESTROY:
      {
         PostQuitMessage(0);
         return 0;
      } break;
   }
 
   return DefWindowProc(hWnd, message, wParam, lParam);
}
 
void initD3D(HWND hWnd)
{
 
 
   d3d = Direct3DCreate9(D3D_SDK_VERSION);
 
   D3DPRESENT_PARAMETERS d3dpp;
 
   ZeroMemory(&d3dpp, sizeof(d3dpp));
   d3dpp.Windowed = FALSE;
   d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
   d3dpp.hDeviceWindow = hWnd;
   d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
   d3dpp.BackBufferWidth = SCREEN_WIDTH;
   d3dpp.BackBufferHeight = SCREEN_HEIGHT;
 
   d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddev);
 
   init_graphics();
}
 
void render_frame(void)
{
   d3ddev->Clear(0,NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(20,20,20), 1.0f, 0);
   d3ddev->BeginScene(); //begin the scene
 
   d3ddev->SetFVF(CUSTOMFVF);
 
   d3ddev->SetStreamSource(0,  v_buffer, 0, sizeof(CUSTOMVERTEX));
 
   d3ddev->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 1);
 
   //Back buffer rendering here
 
   d3ddev->EndScene(); //end the scene
 
   d3ddev->Present(NULL,NULL,NULL,NULL); //Display the frame
}
 
void cleanD3D(void)
{
   v_buffer->Release();//Close and release the vertex buffer
   d3ddev->Release();//Close the device
   d3d->Release();//Release D3D
}
 
void init_graphics(void)
{
   //Array for vertices
   CUSTOMVERTEX Triangle[] =
   {
        { 400.0f, 62.5f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 0, 255), },
        { 650.0f, 500.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(0, 255, 0), },
        { 150.0f, 500.0f, 0.5f, 1.0f, D3DCOLOR_XRGB(255, 0, 0), },
   };
 
   d3ddev->CreateVertexBuffer(3*sizeof(CUSTOMVERTEX),
                     0,
                     CUSTOMFVF,
                     D3DPOOL_MANAGED,
                     &v_buffer,
                     NULL);
   //Lock the memory
   v_buffer->Lock(0, 0, (void**)&pVoid,0);
   //Clear the memory
   memcpy(pVoid, Triangle, sizeof(Triangle));
   //Unlock the memory
   v_buffer->Unlock();
}














Wielkie dzięki! Rozpoczynam naukę directa.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Lipek Samo Zło w Kwiecień 28, 2010, 15:58:37
Wielkie dzięki! Rozpoczynam naukę directa.

Ja na Twoim miejscu zacząłbym od c++...
Poza tym kod wstawia się w znaczniki, takie jak widzisz
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Vipa w Kwiecień 29, 2010, 09:49:30
Ciunkos - brawo!
kezcinwołs - zapoznaj się ze znacznikiem . To naprawdę ułatwia przeczytanie kodu i pomoc.
Jeszcze jako zasada: Nauka nie polega na wklejeniu kodu i wciśnięciu 'kompiluj'. Spokojnie, bez nerwów, po kolei przeczytaj i staraj się zrozumieć co się dzieje. Niektórzy z nas także siedzą po parę dni nad jednym zagadnieniem.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 29, 2010, 22:21:37
Cytuje moją wiadomość którą wysłałem do dwóch osób, bez rezultatu. Cytuję bo nie chce mi się wymyślać coś innego -.-''

Mam problem z tym directem. Umiem już zrobić bryłę 3d z teksturą, żeby się kręciła wokół własnej osi itp. Ale chciałbym zrobić coś takiego: Płaszczyzna, na płaszczyźnie figura geometryczna, którą porusza się strzałkami, i idzie za nią kamera. Chce coś takiego zrobić żeby mieć 6 z informatyki, i 20pkt. za testy gimnazjalne do przodu, bo wybieram się na kierunek informatyczny. Czytałem już kilka tutoriali, ale nauczyły mnie one tylko robienia figury która kręci się albo stoi w miejscu, no i jeszcze umiem nałożyć na nią teksturę. Pomocy :( może być też jakieś "hiperłącze" do tutoriala w którym sprawa opisana jest szerzej, cokolwiek, byle bym zrobił to przed wystawianiem ocen.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: K'Aviash w Kwiecień 29, 2010, 22:33:07
Introduction to 3D Game Programming with DirectX 10 :D
Znajdź ebooka :)
Albo tutorial Charibo... byłeś na gamedev.pl ?
Pozdro i powodzenia. :)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 30, 2010, 19:26:06
Postanowiłem przekonwertować model .3ds na .x i w tym direct SDK mam narzędzie conv3ds.exe. Klikam na nie żeby uruchomić, wyskakuje mi okienko typu command(czarne tło i pisze się komendy) i od razu znika. Jak mam przekonwertować model tym programem skoro uruchamia się i znika od razu? Nie starczy czasu żeby co kolwiek wpisać. To samo jest z narzędziem MeshConvert.exe, a dla przykładu DXViewer.exe uruchamia się normalnie. Znalazłem jakiś plugin do 3d studio maxa do exportowania do formatu .x, panda coś tam. Ale przy uruchamianiu 3d studio pisało że ten plugin nie jest na tą wersję programu. Mam 2009, ściągnąłem na 2009 :( pewnie to wina pluginu a nie wersji 3dsa, ale o co chodzi z tym conv3ds.exe i MeshConvert.exe?

Edit: po analizie stwierdzam że z folderu z narzędziami działa mi tylko DxTex.exe, DXViewer.exe, DXCapsViewer.exe, AudConsole3.exe, dxcpl.exe, DXErr.exe, GDFMaker.exe a reszta to tak że klikam na nie 2 razy, wyświetla się okienko na ułamek sekundy i pyk! znika. I ten problem niestety obejmuje również MeshConvert.exe i conv3ds.exe, tego czego akurat potrzebuje. Ktoś wie co może być przyczyną, albo alternatywnie zna jakiś inny program do konwertowania z jakiegokolwiek formatu, obojętnie mi z jakiego, do .x?

Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Salceson w Kwiecień 30, 2010, 19:48:07
Niektóre z narzędzi dołączone do DX SDK działają z poziomu konsoli systemowej.
(Start -> uruchom -> cmd)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Kwiecień 30, 2010, 19:54:13
W sensie że mam w cmd wpisywać komendy takie jak tu? http://www.unit1.pl/87,txt (http://www.unit1.pl/87,txt) Próbowałem, w ten sposób to nie działa. Chyba że zrobiłem coś źle? Możesz jaśniej?
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Salceson w Kwiecień 30, 2010, 19:57:32
W konsoli wpisujesz conv3ds -o lampe.x "C:\...(ścieżka do pliku)...\lampe.3ds"

Jeżeli się nie mylę, to powinno zadziałać.

Oczywiście nazwa modelu jest pewnie inna ;)
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Maj 01, 2010, 02:20:35
Na początku nie szło, pisało że zła komenda, ale kiedyś modowałem taką jedną grę i przypomniałem sobie że tam trzeba było z czymś tam zrobić taki myk że kopiuje się cmd.exe do folderu z modem i dopiero komendy działają, i zrobiłem tak teraz i pomogło. No i robiłem sobie ostatnio ludzika, robiłem, no i wszystko fajnie, siatka dobra, po czym eksportuje go do .x i oglądam w directx viewerze, i oto co widać:

(http://img72.imageshack.us/img72/7947/image2cm.jpg)

W 3d studio to wygląda tak:

(http://img193.imageshack.us/img193/6830/image9kt.jpg)

Wie ktoś jak można ustalać z której strony ma się utworzyć powierzchnia? Bo ja po prostu robię wierzchołki i potem je łącze, ale już nie wiem jak zdecydować z której strony ma powstać powierzchnia. W 3d studio to wygląda tak że w miejscu w którym nie ma powierzchni, to jest czarno, ale pod takim kątem jest wrażenie że powierzchnia jest. Niech was to nie myli, w rzeczywistości np. część powierzchni brzucha jest ustawiona do wewnątrz, w rezultacie widzimy dziurę, a powierzchnie było by widać tylko jeśli by mieć kamerę wewnątrz, a ma być na odwrót. Przeczytałem to co napisałem, i dochodzę do wniosku że mogą być problemy ze zrozumieniem  :-\ ale mam nadzieję że takowych nie będzie
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Kos w Maj 01, 2010, 02:21:34
Kolejność podawania wierzchołków może mieć znaczenie.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Maj 01, 2010, 02:34:46
Właśnie zrobiłem test, i wygląda na to że masz rację. Zrobiłem trzy wierzchołki, i połączyłem je w takiej kolejności: górny do dolnego, i od dolnego do lewego, i powstał czarny trójkąt(z tej strony z której patrzyłem, z drugiej strony normalna powierzchnia), a potem cofnąłem  operację i połączyłem je tak: dolny do lewego, i od lewego do tego nad dolnym. I o dziwo po mojej stronie nie było czarnego trójkąta, tylko normalny. No to teraz wiem że to zależy od tego w jakiej kolejności, tylko teraz smutek, bo robiłem tego człowieczka ze 3 godziny, i teraz znowu go przerabiać... Zrobię jeszcze parę testów, żeby wyjaśnić sobie w jakiej kolejności je łączyć żeby otrzymać porządny efekt, i naprawie mojego człowieczka. Jak już wszystko z nim będzie okej, to spróbuję zrobić kolejny krok do przodu: zanimować go, i wyeksportować go razem z animacją, i puścić animowanego w okienku .exe

Edit: ale to już nie dziś!
Edit2: Odkryłem bardzo fajną opcję w editable mesh, nazywa się "flip polygon". Dzięki niej nie musiałem się męczyć z łączeniem wierzchołków od nowa, tylko je odwróciłem na drugą stronę(trójkąty). Udało mi się włożyć tego mojego ludzika do okienka, tylko że ma za małą skalę, no i tekstura nie chciała się wczytać. Ale wszystko w swoim czasie:

(http://img11.imageshack.us/img11/6032/image2xm.jpg)

I jeszcze jedno: żeby zrobić grę w directx, muszę znać c++?
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: Salceson w Maj 01, 2010, 16:16:40
I jeszcze jedno: żeby zrobić grę w directx, muszę znać c++?

Podpowiem, że to pytanie spowodowało, że zleciałem z krzesła.
Tytuł: Odp: Problem ze skonfigurowaniem dev-c++
Wiadomość wysłana przez: kezcinwołs w Maj 01, 2010, 16:30:54
Sorry, teraz sobie przypomniałem że jak kiedyś robiłem grę w allegro, to że tak naprawdę robiłem w c++, a allegro to była dodatkowa biblioteka, kilka dodatkowych komend, ale większość w c++. Sorry za takie banalne pytania, rozkojarzony jestem. Teraz mam inny problem  :-[(http://forum.warsztat.gd/index.php/topic,16763.0.html (http://forum.warsztat.gd/index.php/topic,16763.0.html))