JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

3D-Objekt halbdurchsichtig

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 11:26    Titel: 3D-Objekt halbdurchsichtig Antworten mit Zitat

Hallo,

hat jemand von euch eine Idee, wie ich einen einfachen Zylinder mit einer blauen TExtur in D3D halbdurchsichtig kriege? Also so, dass die Farbe der Textur sich mit dem Hintergrund ueberschneidet?

Gut ich denke, das wird harschweinlich mit dem Alphakanal funktionieren. Aber wie muss denn mein Ausgangsobjekt aussehen, damit das funktioniert und wie wird das eingebunden, damit der erkannt wird?

Danke...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael
JLI'ler



Anmeldedatum: 20.07.2002
Beiträge: 173
Wohnort: Münster / NRW
Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 11:38    Titel: Antworten mit Zitat

ich hab schon lange nicht mehr mit DX programmiert und auch nur mit DX7 bzw. 8 aber ich denke man wird es so machen können wie in OpenGL. Schau dir mal in der MSDN was an zu Alphablending (kann auch Sourceblending oder so heißen) da solltest du was finden!
_________________
Es geht auch ohne Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 13:33    Titel: Hmm Antworten mit Zitat

Hallo,

danke fuer den Link. Hat mir direkt jetzt zwar nicht weitergeholfen, aber die Links, die dranstanden waren an sich sehr interessant Wink

Mein Problem liegt da, wo die Texturen geladen werden. Nehmen wir an, ich lade alle Texturen aller Objekte in eine Liste (oder wie Christian es macht in eine Map-Liste), stelle dann ja recht einfach per Infostruktur fest welches Format diese Texturen haben (brauch ja A8R8G8B8) und will mich dann dran machen die Texturen per Alphablending zu bearbeiten?

Dadurch dass ich aber ALLE Texturen in einem Container habe, aber meinetwegen nur EINIGE mit Alphablending versehen will, habe ich ja ein Problem? Wie kann ich die denn Unterscheiden? Wenn ich eine Funktion habe, wie jetzt, die alle Texturen durchgeht, werden ja auch alle Farben entsprechend auf allen Texturen tranpsarent gemacht (also wenn ich was angegeben habe). Oder nicht?

NACHTRAG:

Ok vergesst die Frage!! Ich war zu faul die 300MB RAM fuer MAX zu eruebrigen und festzustellen, dass sich in Maya und MAX Surfaces bereits fuer D3D als transparent definieren lassen Wink
Damit hat sich das Problem auf RenderStates minimiert und gut is Wink)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 15:01    Titel: Antworten mit Zitat

@X-FILE
Versuch mal

D3DDevice.SetRenderState D3DRS_ALPHABLENDENABLE, 1

Dann musst du einfach vorher die VertexColor mit D3DColor ARGB setzen.
Wobei A für den Transparenzgrad steht.

Vielleicht musst du vor dem zeichnen der Primitives noch das machen:

D3DDevice.SetRenderState D3DRS_SRCBLEND, D3DBLEND_BOTHINVSRCALPHA
D3DDevice.SetRenderState D3DRS_DESTBLEND, D3DBLEND_BOTHINVSRCALPHA


Eventuell können folgende Codezeilen auch zum Erfolg führen
D3DDevice.SetTextureStageState 0, D3DTSS_ALPHAOP, 10

D3DDevice.SetRenderState D3DRS_SRCBLEND, D3DBLEND_SRCALPHA
D3DDevice.SetRenderState D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR


Dann probier mal schön Wink

P.s. Es ist VB Code aus DX8, aber ich denke er word sich kaum vom C++ Code von DX9 unterscheiden. Hoffe du kannst etwas damit anfangen. Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 25.07.2003, 22:24    Titel: Hmmm Antworten mit Zitat

Abend,

danke dir Leonardo, oder Raffael? Wer war die Kroete mit dem blauen Teil Wink

Naja egal. KI eben Wink

Hab bei mir das ja dank der guten X-Files schnell einbinden koennen. Hab dann noch etwas weitergesucht in den RenderStates usw. Funzt auf jeden Fall perfekt! Ach ja:
D3DBLEND_INVSRCALPHA funktioniert bei mir besser als alle anderen Optionen, nur falls jemand das hier noch als Wissensquelle nutzt Wink

Danke ...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum