AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi zeichnet nicht in delphix
Thema durchsuchen
Ansicht
Themen-Optionen

zeichnet nicht in delphix

Ein Thema von Snoop007 · begonnen am 8. Mär 2003 · letzter Beitrag vom 8. Mär 2003
Antwort Antwort
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#1

zeichnet nicht in delphix

  Alt 8. Mär 2003, 19:35
hi,
für mich ist derectx noch absolutes neuland

ich habe dies mal von neobrothers abgeschrieben aber leider sehe ich kein viereck, wieso ?
Delphi-Quellcode:
type
  PD3DVertex = ^TD3DVertex;
  TD3DVertex = record
    p : TD3DXVector3;
    n : TD3DXVector3;
    tu, tv : Single;
  end;

var
  Form1: TForm1;
  DXReady: boolean = false;

  //DirectX Devices...
  D3D8 : IDirect3D8;
  D3DDev8 : IDirect3DDevice8;
  d3ddm : TD3DDISPLAYMODE;
  d3dpp : TD3DPRESENT_PARAMETERS;
  viereckvb : IDirect3DVertexBuffer8;
  viereck: array [0..3] of TD3DVertex;
implementation

{$R *.DFM}



const
  D3DFVF_D3DVERTEX = D3DFVF_XYZ or D3DFVF_NORMAL or D3DFVF_TEX1;

procedure TForm1.AppOnIdle(Sender: TObject; var Done: Boolean);
begin
 D3DDEV8.Clear(0, nil, D3DCLEAR_ZBUFFER or D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 255), 1, 0);
 D3DDev8.BeginScene;

   D3DDEV8.SetVertexShader(D3DFVF_D3DVERTEX);
   D3DDEV8.SetStreamSource(0, viereckvb, sizeof(TD3DVertex));
   D3DDEV8.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 1);

 D3DDev8.EndScene;
 D3DDev8.Present(nil, nil, 0, nil);
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  ptr : PByte;
begin
  D3D8 := Direct3DCreate8(D3D_SDK_VERSION);
  if D3D8 = NIL then exit;

  if failed(D3D8.GetAdapterDisplayMode(D3DADAPTER_DEFAULT, d3ddm)) then exit;

  Fillchar(d3dpp, sizeof(d3dpp), 0);
  d3dpp.Windowed := TRUE;
  d3dpp.SwapEffect := D3DSWAPEFFECT_DISCARD;
  d3dpp.BackBufferFormat := d3ddm.Format;

  d3dpp.EnableAutoDepthStencil := true;
  d3dpp.AutoDepthStencilFormat := D3DFMT_D16;

  if failed(D3D8.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, form1.handle,
                              D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dpp, D3DDEV8)) then exit;

  Application.OnIdle := AppOnIdle;

  viereck[0].p := d3dxvector3(-100, 0, -100);
  viereck[0].n := d3dxvector3(0, 1, 0);
  viereck[0].tu := 0;
  viereck[0].tv := 0;

  viereck[1].p := d3dxvector3(-100, 0, 100);
  viereck[1].n := d3dxvector3(0, 1, 0);
  viereck[1].tu := 0;
  viereck[1].tv := 1;

  viereck[2].p := d3dxvector3(100, 0, -100);
  viereck[2].n := d3dxvector3(0, 1, 0);
  viereck[2].tu := 1;
  viereck[2].tv := 0;

  viereck[3].p := d3dxvector3(100, 0, 100);
  viereck[3].n := d3dxvector3(0, 1, 0);
  viereck[3].tu := 1;
  viereck[3].tv := 1;

  D3DDEV8.CreateVertexBuffer(SizeOf(viereck), D3DUSAGE_WRITEONLY,
                                             D3DFVF_D3DVERTEX, D3DPOOL_DEFAULT,
                                             viereckvb);

  viereckvb.Lock(0, SizeOf(viereck), ptr, 0);
  Move(viereck, ptr^, SizeOf(viereck));
  viereckvb.Unlock;



end;
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#2
  Alt 8. Mär 2003, 20:54
ich kenne mich zwar nicht so mit reinen DX aus, aber kommen irenwelche fehlermeldung ?
vergleich doch noch mal genau die zeilen im oringal und im abgeschriebenen, mehr fählt mir auch nicht ein
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 15. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 8. Mär 2003, 21:17
es kommt keine fehlermeldung, er zeichnet mir einen blauen hintergrund, ist ja auch richtig, aber er stellt mir das viereck nicht dar
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4
  Alt 8. Mär 2003, 21:31
dann stimmen die Punkte nich die du angeben hast !
kennst du SelfDX(oder so änlich ?)
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz