Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

DirectX 8.0 SDK -- Nie mogę znaleźć plików...

Ostatnio zmodyfikowano 2011-11-25 12:20
Autor Wiadomość
Trix
Temat założony przez niniejszego użytkownika
DirectX 8.0 SDK -- Nie mogę znaleźć plików...
» 2011-11-25 11:36:00
Ani na stronie Microsoft ani na innych stronach nie ma już tego pliku (DirectX 8.0 SDK), ponieważ linki wygasły.

Gdzie mogę znaleźć te pliki?
P-44671
DejaVu
» 2011-11-25 11:37:27
Pobierz DirectX 9 SDK :)
P-44672
Trix
Temat założony przez niniejszego użytkownika
» 2011-11-25 11:44:15
Mam zainstalowany ten DX9 SDK ale programy mi nie ruszają bo wymaga on PIXEL SHADER 2.0 :\

A szukałem troszkę w internecie coś na ten temat lecz niczego się nie dowiedziałem.




EDIT

A jeśli chodzi o ttten kod co mi nie działa to :http://charibo.wordpress.com/kurs-direct3d/modele-3d-czyli-zegnaj-boxie/


I tam są zamieszczone kody źródłowe.
P-44674
DejaVu
» 2011-11-25 11:45:22
Możesz przecież ustawić jakiegoś define-a przed dołączeniem plików DirectX i określić wersję jakiej ma używać :)
P-44676
Trix
Temat założony przez niniejszego użytkownika
» 2011-11-25 11:46:40
To się tak da? :P

A jak wyglądałby taki define?




Co zmienić żeby ten kod mi działał?

main.cpp
C/C++
#include <d3dx9.h>
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")

IDirect3D9 * pD3D;
IDirect3DDevice9 * pDev;

HWND hWnd;

void InitWindow()
{
    HINSTANCE hProg = GetModuleHandle( 0 );
    WNDCLASS wc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hProg;
    wc.lpfnWndProc = DefWindowProc;
    wc.lpszClassName = "WndClass";
    wc.lpszMenuName = 0;
    wc.hbrBackground =( HBRUSH ) GetStockObject( BLACK_BRUSH );
    wc.hIcon = LoadIcon( hProg, IDI_WINLOGO );
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.hCursor = LoadCursor( hProg, IDC_ARROW );
   
    RegisterClass( & wc );
    hWnd = CreateWindowEx( 0, "WndClass", "Lekcja 4", WS_OVERLAPPEDWINDOW,
    0, 0, 800, 600, 0, 0, hProg, 0 );
   
    ShowWindow( hWnd, 5 );
   
}


struct OurVertex
{
    float x, y, z; // pozycja
    float rhw; // komponent rhw
    D3DCOLOR color; // kolor
};

const DWORD OURVERT_FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE;

IDirect3DVertexBuffer9 * pVB;

ID3DXEffect * pEffect;

bool Run = true;

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 );
   
    OurVertex verts[] =
    {
        { 200.0f, 500, 0.5f, 1, 0xffff0000, },
        { 400.0f, 100, 0.5f, 1, 0xff00ff00, },
        { 600.0f, 500, 0.5f, 1, 0xff0000ff },
    };
   
    pDev->CreateVertexBuffer( sizeof( verts ), 0, OURVERT_FVF, D3DPOOL_DEFAULT, & pVB, 0 );
   
    void * data;
   
    pVB->Lock( 0, 3 * sizeof( OurVertex ), & data, 0 );
   
    memcpy( data,( void * ) verts, sizeof( verts ) );
   
    pVB->Unlock();
   
    ID3DXBuffer * pErrs;
    D3DXCreateEffectFromFile( pDev, "../1/shader.fx", 0, 0, 0, 0, & pEffect, & pErrs );
    if( pErrs )
    {
        MessageBox( hWnd,( char * ) pErrs->GetBufferPointer(), "zóo", 0 );
        pErrs->Release();
    }
    MSG msg;
    while( Run )
    {
        if( PeekMessage( & msg, 0, 0U, 0U, PM_REMOVE ) )
        {
            TranslateMessage( & msg );
            DispatchMessage( & msg );
        }
        else
        {
            pDev->Clear( 0, 0, D3DCLEAR_TARGET, 0xff000000, 1, 0 );
            pDev->BeginScene();
           
            UINT passes;
            D3DXHANDLE tech;
            pEffect->FindNextValidTechnique( 0, & tech );
            pEffect->SetTechnique( tech );
            pEffect->Begin( & passes, 0 );
            for( UINT pass = 0; pass < passes; pass++ )
            {
                pEffect->BeginPass( pass );
               
                pDev->SetFVF( OURVERT_FVF );
                pDev->SetStreamSource( 0, pVB, 0, sizeof( OurVertex ) );
                pDev->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 1 );
               
                pEffect->EndPass();
            }
            pEffect->End();
           
            pDev->EndScene();
            pDev->Present( 0, 0, 0, 0 );
            if( GetKeyState( VK_ESCAPE ) & 0x0800 )
            {
                Run = false;
            }
        }
    }
    pEffect->Release();
    pVB->Release();
    pDev->Release();
    pD3D->Release();
}

shader.fx
C/C++
void vsmain( float4 pos: POSITION,
float4 color: COLOR,
out float4 oPos: POSITION,
out float4 oColor: COLOR )
{
    oPos = pos;
    oColor = color;
}

float4 psmain( float4 color: COLOR )
    : COLOR
{
    return color;
}

technique std
{
    pass
    {
        VertexShader = compile vs_2_0 vsmain();
        PixelShader = compile ps_2_0 psmain();
    }
}
P-44677
DejaVu
» 2011-11-25 12:20:02
Poszukaj w googlach... z pewnością były takie tematy.
P-44680
« 1 »
  Strona 1 z 1