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 

Renderstates aus HLSL

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 14.12.2006, 16:37    Titel: Renderstates aus HLSL Antworten mit Zitat

Hi, kennt jemand eine gute Möglichkeit aus HLSL Datein die RenderStates auszulesen?

Aus dieser Datei möchte ich zB auslesen ob im Pass "p0" das RenderState "AlphaBlendEnable" auf true gesetzt ist.


CPP:
float4x4 matWorldViewProj : WorldViewProjection;
texture myTexture : Diffuse;

struct vertexStream {
    float3 position         : POSITION;
    float2 UV            : TEXCOORD0;
};

vertexOutput VS_11(vertexStream IN)
{
    vertexStream OUT;
    OUT.position = mul( float4(IN.position.xyz , 1.0) , matWorldViewProj);
   
    OUT.UV = IN.UV;   

    return OUT;
}

sampler2D TextureSampler = sampler_state
{
   texture = <myTexture>;
   MinFilter = Linear;
   MagFilter = Linear;
   MipFilter = None;
   AddressU = Clamp;
   AddressV = Clamp;
   AddressW = Clamp;
};

float4 PS_20( vertexStream IN): COLOR
{
   return tex2D( TextureSampler, IN.UV0);
}

technique T01
{
    pass p0
    {      
        VertexShader = compile vs_1_1 VS_11();
        PixelShader  = compile ps_2_0 PS_20();
      
        AlphaBlendEnable = True;
        SrcBlend  = SrcAlpha;
        DestBlend = InvSrcAlpha;
    }
}


In der DX Doku oder beim suchen im Netz habe ich leider nichts gefunden, evtl auch nur die falschen Suchbegriffe benutzt.

Ich würde es übrigens gerne vermeiden die Datei per hand auszulesen, also wenn möglich suche ich eine buildin Möglichkeit oder zumindest etwas was das gleiche kann was ich suche.

Bin für Hilfe dankbar.

mfg Mark
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Tobias
Mini JLI'ler


Alter: 34
Anmeldedatum: 20.02.2003
Beiträge: 13

Medaillen: Keine

BeitragVerfasst am: 25.12.2006, 19:17    Titel: Antworten mit Zitat

Hi,

ich hab noch wenig mit FX Files gemacht, hab jetzt aber mal spontan in der DX Doku in der Klasse ID3DXBaseEffect nachgeschaut - damit scheint man recht gut auf FX Files Zugriff zu haben.

Was ich gefunden habe: ID3DXBaseEffect::GetTechnique -> ID3DXBaseEffect::GetPass -> ID3DXBaseEffect::GetParameter -> D3DXBaseEffect::GetBool etc.

Es gibt da auch immer die entsprechenden Ergänzungen aka "Get...ByName". Sollte also dem entsprechen, was du suchst (so wie ich das jetzt in der Kürze gefunden habe).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 26.12.2006, 23:54    Titel: Antworten mit Zitat

Die Funktionen hatte ich als erstes versucht zu benutzen, leider habend die keinerlei Bewandniss für die RenderStates.

mfg Mark
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Tobias
Mini JLI'ler


Alter: 34
Anmeldedatum: 20.02.2003
Beiträge: 13

Medaillen: Keine

BeitragVerfasst am: 27.12.2006, 20:19    Titel: Antworten mit Zitat

Hm, in diesem Fall fällt mir nur noch die Möglichkeit ein, dass du den ID3DXEffectStateManager mit Methoden ausfüllst, dann BeginPass des Effekts aufrufst und dann schaust, was du alles an RenderStates bekommst. Du bekommst das Zeug dann allerdings in Form von RenderState-Konstanten, nicht mehr als String über ID3DXEffectStateManager::SetRenderState.
_________________
http://www.alphanew.net/ (Last update: 10.12.2006)

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 47
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 27.12.2006, 23:12    Titel: Antworten mit Zitat

Sehe auch nur die Chance eine Klasse für den StateManager zu implementieren. Damit wird eine Funktion von dir für jeden Renderstate aufgerufen. Ist aber eigentlich keine schlechte Möglichkeit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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