AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Problem mit DirectX Darstellung
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit DirectX Darstellung

Ein Thema von atreju2oo0 · begonnen am 19. Jun 2006 · letzter Beitrag vom 19. Jun 2006
Antwort Antwort
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#1

Problem mit DirectX Darstellung

  Alt 19. Jun 2006, 12:51
Guten Tag...

Ich habe auf Arbeit einen 3D-Laser Scanner von dem ich eine Punktmenge erhalte. Diese Punktmenge
interpoliere ich und mache daraus eine richtige 3D-Struktur mithilfe einer Heightmap. Diese lasse ich wiederum mithilfe von DirectX 8 darstellen.
Dabei treten aber leider (in meinen Augen) Fehler auf die ich trotz intensiver Suche nicht lokaliesieren kann. Ich nehme an das es an der initialisierung liegt aber hab keinen Plan wo.
In den Bildern ist es hoffentlich klar zu erkennen: a) Die Höheninformationen werden scheinbar durchsichtig und es entstehen Streifen...


Mal zu den Fakten:
es sind 200*100 Vierecke die dargestellt werden, also 40000 Dreiecke. Das macht dann zusammen 120000
Vektoren. Das dürfte doch nicht zuviel sein, oder? Zumal eigentlich die Drehungen und Verschiebungen alle problemlos laufen und keine Ruckler ergeben...


Meine Init-Werte:

With D3DPP
.BackBufferCount = 1
.EnableAutoDepthStencil = 0
.SwapEffect = D3DSWAPEFFECT_FLIP
.BackBufferFormat = DispMode.Format
.AutoDepthStencilFormat = D3DFMT_D16
.EnableAutoDepthStencil = 1

D3DDevice.SetRenderState D3DRS_ZENABLE, 1
D3DDevice.SetRenderState D3DRS_LIGHTING, 0
D3DDevice.SetRenderState D3DRS_FILLMODE, D3DFILL_SOLID
D3DDevice.SetRenderState D3DRS_CULLMODE, D3DCULL_NONE


Wer sich hier wundert: Das ist leider Visual Basic6 QT ... Hab hier nix anderes und finde kein kompetentes VB-Forum. Ausserdem ist es IMHO eh ein Fehler der DirectX-Init Funktion...

Nun nochmal nen paar Screens die mein Problem erklären sollten...

Ich danke schonmal für die Hilfe...
P.S.: Ich würde auch das ganze Prog ranhängen aber es läuft nur mit ner 4MB großen Datei in der
die 3D-Daten gespeichert sind...
Miniaturansicht angehängter Grafiken
snap4_149.jpg   snap3_154.jpg   snap2_401.jpg   snap1_114.jpg  
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Problem mit DirectX Darstellung

  Alt 19. Jun 2006, 12:55
Kann es sein dass dein Tiefentest (DX sollte sowas ja haben *g*) nicht funktioniert / falsch eingestellt ist? Das culling ist schonmal aus, das kanns nicht sein ^^
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Problem mit DirectX Darstellung

  Alt 19. Jun 2006, 13:10
Ähm...
Ich musste mich neu in das Thema einarbeiten und weiß jetzt ehrlich gesagt nicht was Du meinst...
Hast Du nen Stichwort parat nach dem ich googln könnte?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem mit DirectX Darstellung

  Alt 19. Jun 2006, 13:19
Delphi, OpenGL:
Delphi-Quellcode:
glEnable(GL_DEPTHTEST);
glDepthFunc(GL_LEQUAL);


In VB, DX wirds wohl irgendwie so sein:

Code:
D3DDevice.SetRenderState D3DRS_DEPTHxxxxx, D3DDEPTH_xxxxx
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Problem mit DirectX Darstellung

  Alt 19. Jun 2006, 13:21
Vielen Dank...
Ich werd mal schauen obs daran lag...


[edit]
Das wars leider nicht...
Soweit ich das jetzt recherchiert hab ist dafür

EnableAutoDepthStencil = 1

zuständig und richtig initialisiert...
Soll ich mal das Prog hochladen? Sind zwar 4 MB
aber dann kann man den Fehler mal live sehen?

Naja... zur Not muss ich es so lassen!
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#6

Re: Problem mit DirectX Darstellung

  Alt 19. Jun 2006, 17:42
Fuer den Z-Buffer (oder Tiefenbuffer) ist die Eigenschaft im Renderstate zustaendig:
Code:
D3DDevice.SetRenderState(D3DRS_ZENABLE, 1)
Was eine Ursache fuer den Fehler sein koennte waere, wenn du den Z-Buffer nicht saeuberst, sprich beim Clear-Aufruf das D3DCLEAR_ZBUFFER-Flag nicht mitgibst.
Wenn du die Render-Spezifischen Aufrufe posten koenntest, waere das zum Fehler finden sehr hilfreich


btw:
Zitat von atreju2oo0:
With D3DPP
.BackBufferCount = 1
.EnableAutoDepthStencil = 0
[...]
.EnableAutoDepthStencil = 1


greetz
Mike
Mike
Passion is no replacement for reason
  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 01:26 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