[D3D9] Ärger mit Shadern

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 5185
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

[D3D9] Ärger mit Shadern

Beitrag von Schrompf »

Hallo Leute,

ich habe ein Rudel Shader geschrieben, die für ein 2D-Spiel aus der Vogelperspektive Lichtquellenschatten umsetzen sollen. Der Grundgedanke ist, dass ich pro Bildschirmpixel eine fiktive Oberflächenhöhe ausrendere, anhand derer ich errechnen kann, wie weit die Schattenkante davon trägt. Also in etwa so:
SchattenSkizze.png
SchattenSkizze.png (5.34 KiB) 3680 mal betrachtet
Um jetzt nicht jeden Pixel einzeln fragen zu müssen, benutze ich den Trick exponentiell skalierter Sample-Strecken, den sie damals bei Crysis für den Radial Blur benutzt haben: Ich sample zuerst die ersten 8 Samples vom Texel zur Lichtquelle und berechne jeweils Höhe und Sinktempo der Schattenkante. Danach nehme ich in einem weiteren Pass wieder 8 Samples, dieses Mal aber auf die vierfache Länge gestreckt, so dass ich garantiert einen oder zwei der Samples vom letzten Pass erwische. Danach folgt noch ein Pass mit sechszehnfacher Länge und schlimmstenfalls noch einer mit 64facher Länge, so dass ich mit 4 Passes und 32 Samples eine Strecke von bis zu 512 Texeln sicher abdecken kann.

Nur zur Klarheit: das funktioniert so auch prächtig. Ich habe allerdings jetzt zwei Probleme.

a) Die dämliche Grafikkarte clampt mir den Shader-Output auf 0 bis 1, obwohl ich (zu Testzwecken) in ein fp16-Target schreibe. Wie kann ich ihm das abgewöhnen? Google gibt mir dazu gar keine Info, anscheinend bin ich der Einzige mit diesem Problem. Ich weiß allerdings auch von früheren Splitterwelten-Zeiten, dass ich auch da die ShadowMap-Tiefen auf 0..1 skalieren musste, obwohl ich in ein fp32-Target gerendert habe. Die DX-Doku meint aber, dass sowas nur bei wertebeschränkten Targets passiert. Was ist hier faul?

b) Die Performance ist mies. Schlechter als erwartet jedenfalls. Leider macht NVPerfHUD bei mir nur Grütze, für den ist meine GPU immer vollständig im Idle. Zahlenmäßig sieht es so aus, dass ich etwa 800 FPS ohne Schatten habe und bei fünf Lichtquellen mit Schatten noch bei 120 fps bin. Das ist enttäuschend, da ich den ganzen Schattentrick eh bei 1/4 Auflösung betreibe und damit jede ShadowMap gerade mal noch 150 bis 200 Pixel im Quadrat ist. Bei fünf Lichtern und 2 Verlängerungs-Passes plus ein Init-Pass bin ich damit bei 25 Samples pro Schatten-Texel und demzufolge bei 150x150x5x25 == 2,8 Millionen Samples und nochmal vielleicht 3 MatheOps pro Sample - ich nutze damit bei 120 fps grade mal 350 Millionen Samples von den geschätzt 20 Milliarden Texturzugriffen, die meine GeforceGTX460 pro Sekunde zu bieten hat.

Zur Anschauung hier der Shadercode zu den Verlängerungs-Passes - der initiale Shadow-Pass sieht sehr ähnlich aus und der finale Schattenkante-Zu-Helligkeit-Shader ist trivial.

Code: Alles auswählen

struct Vertex
{
  float4 mPosition : POSITION0;
  float3 mVertexPos : TEXCOORD0; // Vertexposition in Weltkoords
  float3 mLichtPos : TEXCOORD1; // Lichtposition in Weltkoords
  float3 mLichtParams : TEXCOORD2; // Lichtparameter: XY Strecken-Ausdehnung, Z radiale Ausdehnung
  float4 mWeltZuTex : TEXCOORD3; // Weltkoords zu Texkoords: XY Skalierung, ZW Basisaddition
};

// Temp-Textur mit den Werten des letzten Passes: X Intensität 0..1, Y Höhe der Schattenkante, Z Sinktempo der Schattenkantenhöhe, W durchgeschleifte Höhe des Pixels
sampler2D TexSchatten;

// Laenge des Schatten-Teststrahls in Tiles. 
float gTestStrahlLaenge;

// ------------------------------------------------------------------------------------------------
// VertexShader 
Vertex VertexMain( const Vertex rein)
{
  return rein;
}

// ------------------------------------------------------------------------------------------------
// PixelShader 
float4 PixelMain( const Vertex rein) : COLOR0
{
  float2 vertexZuLicht = rein.mLichtPos.xy - rein.mVertexPos.xy;
  float abstandZuLicht = length( vertexZuLicht); 

  float strecke = min( gTestStrahlLaenge, abstandZuLicht); 
  float2 richtung = normalize( vertexZuLicht);

  // den ersten Sample schreiben wir manuell aus, um den Texturwert an der Stelle dazuhaben
  float2 startTexkoords = rein.mVertexPos.xy * rein.mWeltZuTex.xy + rein.mWeltZuTex.zw;
  float4 startTexel = tex2D( TexSchatten, startTexkoords);
  
  // weitere 7 Samples entlang des Wegs zum Licht nehmen
  [unroll]
  for( int a = 1; a < 8; ++a )
  {
    float entf = strecke * float( a) / 8.0f;
    float2 texkoords = (rein.mVertexPos.xy + entf * richtung) * rein.mWeltZuTex.xy + rein.mWeltZuTex.zw;
    float4 t = tex2D( TexSchatten, texkoords);
    // Höhe dieser Schattenkante bei uns berechnen
    t.y = t.y - t.z * entf;

    // Werte übernehmen, falls die Schattenkante bei uns höher ist als die bisherige
    if( t.y > startTexel.y )
      startTexel.xyz = t.xyz;
  }
  
  // und das können wir so zurückgeben
  return startTexel;
}
Ich bin auch recht sicher, dass der Compiler die Schleife ausrollt, da ich sonst mit dem tex2D in der Schleife nicht durchkäme. Und ich sehe da nichts, was so drastisch langsam sein sollte. Ok... die einzelnen Samples liegen weit auseinander und verfehlen deswegen wahrscheinlich meist die Texturcaches, aber dafür müssten die Samples benachbarter Fragmente schön dicht beieinander liegen, so dass die Caches über mehrere Threads hinweg wieder prima wirken müssen. Und wie gesagt: Crysis ist damit auch durchgekommen.

Hat jemand eine Idee, wie ich die Performance verbessern könnte?

bye, Thomas
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8355
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von Krishty »

Ja, die Schleife wird abgerollt.

Code: Alles auswählen

    ps_2_0
    def c1, 0, 0.125, 0.25, 0.375
    def c2, 0.5, 0.625, 0.75, 0.875
    dcl t0.xy
    dcl t1.xy
    dcl t3
    dcl_2d s0
    mov r0, t3
    mad r1.x, t0.x, r0.x, r0.z
    mad r1.y, t0.y, r0.y, r0.w
    mov r0.xy, t0
    add r0.xy, -r0, t1
    dp2add r0.z, r0, r0, c1.x
    rsq r0.z, r0.z
    rcp r0.w, r0.z
    mul r0.xy, r0.z, r0
    min r1.z, r0.w, c0.x
    mul r1.w, r1.z, c1.y
    mad r0.zw, r1.w, r0.wzyx, t0.wzyx
    mad r2.x, r0.w, t3.x, t3.z
    mad r2.y, r0.z, t3.y, t3.w
    mul r0.z, r1.z, c1.z
    mad r2.zw, r0.z, r0.wzyx, t0.wzyx
    mad r3.x, r2.w, t3.x, t3.z
    mad r3.y, r2.z, t3.y, t3.w
    mul r0.w, r1.z, c1.w
    mad r2.zw, r0.w, r0.wzyx, t0.wzyx
    mad r4.x, r2.w, t3.x, t3.z
    mad r4.y, r2.z, t3.y, t3.w
    mul r2.z, r1.z, c2.x
    mad r3.zw, r2.z, r0.wzyx, t0.wzyx
    mad r5.x, r3.w, t3.x, t3.z
    mad r5.y, r3.z, t3.y, t3.w
    mul r2.w, r1.z, c2.y
    mad r3.zw, r2.w, r0.wzyx, t0.wzyx
    mad r6.x, r3.w, t3.x, t3.z
    mad r6.y, r3.z, t3.y, t3.w
    mul r3.z, r1.z, c2.z
    mul r3.w, r1.z, c2.w
    mad r4.zw, r3.z, r0.wzyx, t0.wzyx
    mad r0.xy, r3.w, r0, t0
    mad r7.x, r0.x, t3.x, t3.z
    mad r7.y, r0.y, t3.y, t3.w
    mad r0.x, r4.w, t3.x, t3.z
    mad r0.y, r4.z, t3.y, t3.w
    texld r8, r1, s0
    texld r9, r2, s0
    texld r10, r3, s0
    texld r4, r4, s0
    texld r5, r5, s0
    texld r6, r6, s0
    texld r7, r7, s0
    texld r11, r0, s0
    mad r9.y, r9.z, -r1.w, r9.y
    add r4.w, r8.y, -r9.y
    cmp r1.xyz, r4.w, r8, r9
    mad r10.y, r10.z, -r0.z, r10.y
    add r1.w, r1.y, -r10.y
    cmp r0.xyz, r1.w, r1, r10
    mad r4.y, r4.z, -r0.w, r4.y
    add r0.w, r0.y, -r4.y
    cmp r0.xyz, r0.w, r0, r4
    mad r5.y, r5.z, -r2.z, r5.y
    add r0.w, r0.y, -r5.y
    cmp r0.xyz, r0.w, r0, r5
    mad r6.y, r6.z, -r2.w, r6.y
    add r0.w, r0.y, -r6.y
    cmp r0.xyz, r0.w, r0, r6
    mad r11.y, r11.z, -r3.z, r11.y
    add r0.w, r0.y, -r11.y
    cmp r0.xyz, r0.w, r0, r11
    mad r7.y, r7.z, -r3.w, r7.y
    add r0.w, r0.y, -r7.y
    cmp r8.xyz, r0.w, r0, r7
    mov oC0, r8
Hmm, mir wird schon das Texture Fetching als Flaschenhals angezeigt (ALU:TEX ist 0,83 statt der empfohlenen 2); das bezieht sich aber allein auf AMD-Karten. Hat denn TexSchatten Mip-Levels? Ich frage, weil Mip-Levels die Lokalität verbessern können und man umgekehrt ohne Mip-Levels die Berechnung der Gradienten sparen kann.

Vor allem: Bist du dir sicher, keinen anisotropen Sampler gesetzt zu haben sondern ganz normales trilineares Sampling?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 5185
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von Schrompf »

Danke für Deine Infos, Krishty. TexSchatten ist eine bereits von Bildauflösung runterskalierte Version ohne MipMaps, die nur mit POINT-Filter gesampled wird. Nichtmal bilinear, geschweige denn anistropisch.

Hast Du irgendeine Idee, warum der ShaderOuput auf 0..1 geclampt wird?

Ich habe währenddessen auch weiterprobiert. Neue Erkenntnisse bislang:
a) FPS sind wertlos. Irgendwas in meinem System hackt mir jetzt die ganze Zeit rein, die angezeigten Zahlen sind mehr oder weniger zufällig.

b) Ich hatte eine Werte-Dummheit drin, wodurch ein Verlängerungspass nutzlos war. Der eingesparte Pass hat etwa 20% Performance gebracht, soweit ich das beurteilen kann.

c) Anscheinend hängt es gar nicht an der Grafikkarte, sondern anderswo. Selbst wenn alle Lichtquellen außerhalb des Bildschirms sind und die behandelten Schatten-Flächen demzufolge praktisch 0 Pixel groß sind, habe ich die gleiche Framerate.

Ich haue jetzt mal die volle Shaderkeule drauf, indem ich wie ursprünglich geplant fünf leicht gestreute Strahlen anstatt einem losschicke. Wenn ich mich nicht vertan habe, müsste die Durchschnittsrechnung der Einzelergebnisse genauso kaskadieren wie die Verlängerungspasses selbst, so das ich bei 3 Passes 125 Schattenhelligkeitsstufen bekommen müsste. Ich halte euch auf dem Laufenden.

[edit] Ich hatte Recht. fünffache Sample-Menge pro Pass und immernoch 150 fps. Und Leute.... das sieht SO GEIL AUS. Ich muss davon mal Bilder machen!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8355
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von Krishty »

Schrompf hat geschrieben:TexSchatten ist eine bereits von Bildauflösung runterskalierte Version ohne MipMaps, die nur mit POINT-Filter gesampled wird. Nichtmal bilinear, geschweige denn anistropisch.
Dann kannst du vielleicht noch ein, zwei fps rausholen indem du tex2Dlod benutzt … vielleicht macht die Hardware das aber auch schon automatisch.
Schrompf hat geschrieben:Hast Du irgendeine Idee, warum der ShaderOuput auf 0..1 geclampt wird?
Keinen Plan. Habe auch schon seit fünf Jahren kein HDR mehr mit D3D9 gemacht.
Schrompf hat geschrieben:a) FPS sind wertlos. Irgendwas in meinem System hackt mir jetzt die ganze Zeit rein, die angezeigten Zahlen sind mehr oder weniger zufällig.
Schließ auch mal den Browser; bei mir ist es immer Flash ;)
Schrompf hat geschrieben:[edit] Ich hatte Recht. fünffache Sample-Menge pro Pass und immernoch 150 fps. Und Leute.... das sieht SO GEIL AUS. Ich muss davon mal Bilder machen!
„mal“ heißt hoffentlich „jetzt“!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4287
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [D3D9] Ärger mit Shadern

Beitrag von Chromanoid »

Krishty hat geschrieben:
Schrompf hat geschrieben:[edit] Ich hatte Recht. fünffache Sample-Menge pro Pass und immernoch 150 fps. Und Leute.... das sieht SO GEIL AUS. Ich muss davon mal Bilder machen!
„mal“ heißt hoffentlich „jetzt“!
Allerdings.

Du solltest sowieo frühst möglich eine Fanbase aufbauen und kontinuierlich Fortschritte posten. Vielleicht sogar eine Early-Access Version für Vorbesteller veröffentlichen (wie das die Leute von Wolfire Games machen) :) Als Vorgeschmack "early Prototype" könntest/solltest du auch Splatterwelten anbieten. Ich würde dir ans Herz legen bei Facebook und Twitter eine Präsenz zu eröffnen sowie auf jeden Fall bei http://indiedb.com
Dazu vielleicht ganz interessant (falls noch nicht bekannt): Building Buzz for Indie Games
Es gibt dutzende weitere Artikel, die eigentlich alle das gleiche sagen. "Soviel wie möglich, so früh wie möglich" über das Spiel veröffentlichen und die Leute bei der Stange halten. Zur Not ein bisschen über die implementierte Technologie schwafeln, dann interessieren sich wenigstens schon mal Spieleentwicklungsenthusiasten dafür. The iOS Marketing Door Is Ajar (Just) ist zwar für iOS Spiele, aber ohne Buzz geht es einem mit indiegames sicherlich auch so (besonders gelungen finde ich den Kommentar von "Alan Youngblood"). So ein Glück wie CodingCat mit dem Bericht auf Rock, Paper, Shotgun oder Notch, dem die News zu Minecraft ja förmlich aus den Händen gerissen wurden, hat man in der Regel nicht.

Naja im Grund sage ich das alles nur weil ich Screenshots und Videos sehen will :D ;)
joggel

Re: [D3D9] Ärger mit Shadern

Beitrag von joggel »

Chromanoid hat geschrieben: Es gibt dutzende weitere Artikel, die eigentlich alle das gleiche sagen. "Soviel wie möglich, so früh wie möglich" über das Spiel veröffentlichen und die Leute bei der Stange halten. Zur Not ein bisschen über die implementierte Technologie schwafeln, ...
Ich denke auch das dass eine viel versprechende Stategie ist...
Jedoch sollte man dann schon die Relation zwischen Produkt und Hype im Auge behalten ^^.
Chromanoid hat geschrieben: Naja im Grund sage ich das alles nur weil ich Screenshots und Videos sehen will :D ;)
Schliese mich da an :)
Benutzeravatar
kimmi
Moderator
Beiträge: 1412
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von kimmi »

Und ich sehe immer noch keine Bilde ... ;).

Gruß Kimmi
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von CodingCat »

Schrompf hat geschrieben:Hast Du irgendeine Idee, warum der ShaderOuput auf 0..1 geclampt wird?
Das wundert mich jetzt auch, ich rendere schon seit Jahren meine Tiefenwerte unskaliert in FP32-Targets und meine HDR-Farben in FP16-Targets, ohne je auf Probleme gestoßen zu sein. Hast du vielleicht irgendeinen ausgefalleneren Alpha-Blending-Modus aktiv? Ich meine mich zu erinnern, dass z.B. RevSubtract unnormalisierte Werte nicht verträgt.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Schrompf
Moderator
Beiträge: 5185
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von Schrompf »

Kein AlphaBlending, das ist explizit aus. Aber ich merke, dass Beleuchtung noch einiges an Feintuning braucht. Meine Schatten kriegen Risse, wenn ich die Lichtquellengröße zu groß einstelle.

Danke für die Tipps zur Indie-Entwicklung. Ja, Facebook und der ganze Ruß wird kommen. Aber Eins nach dem Anderen :-) Für die Bildliebhaber:
screenshot0000.png
Zu sehen sind drei Lichtquellen: eine große orange mit sehr harten Schatten, eine der Wurffackeln und die (eher schwache) Spieler-Taschenlampe. Letztere muss ich noch etwas breiter und heller machen - durch die extreme Bodennähe sieht man davon außer bei starkem BumpMapping quasi gar nix.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von CodingCat »

Ohja, die Schatten werden wirklich sehr schön, Gratulation. Bzgl. Clamping könnten natürlich auch andere States beteiligt sein, mglw. z.B. D3DRS_SRGBWRITEENABLE, das ist jetzt aber schon reine Mutmaßung.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
joggel

Re: [D3D9] Ärger mit Shadern

Beitrag von joggel »

Ja.. sieht echt toll aus :)
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4287
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [D3D9] Ärger mit Shadern

Beitrag von Chromanoid »

Sehr hübsch, lass dir mit dem Marketing aber nicht zu viel Zeit. Einige sind bestimmt gerne von Anfang an dabei... Ich zitiere mal den oben erwähnten Alan Youngblood:
Alan Youngblood hat geschrieben:I've been saying it for a while but biz&marketing need to be planned and executed from pitch onward. I don't know where game devs get off thinking that a "media blitz" is a good idea. You could have the "front page" of everything for a few hours and it's extremely easy to be ignored.
weil ich es so einleuchtend finde hier noch mal der ganze text (Kommentar in http://www.gamasutra.com/blogs/SteveJon ... r_Just.php ):
Alan Youngblood hat geschrieben:I've been saying it for a while but biz&marketing need to be planned and executed from pitch onward. I don't know where game devs get off thinking that a "media blitz" is a good idea. You could have the "front page" of everything for a few hours and it's extremely easy to be ignored. What if someone was on vacation and didn't check the news? What if someone was busy studying for an exam and focused more on that than your marketing?

So the answer I've found is to have a steady stream of relevant content releases that get people excited. Screenshots, videos, developer interviews, blogging and so on work wonders to get people interested. I've also found that public in-person events can be a great way to discover new customers or fans. In the RDU area my company is getting together with several other indies and doing a "battle of the bands" friendly competition of our games where we showcase latest builds, get feedback and win over fans. In the end we are really just sharing fans and making it easier to find us. We are still planning so I'll let you know in a month or so how it actually goes. Another great thing to do is post on forums. I gained a lot of fans by posting a trailer or big announcement on the forums to toucharcade, among other places.

It's a signal vs noise over time issue. You want to leverage all the time you can (pre-production, production, release, post-release) and create meaningful releases to the public in a steady stream so that you stand out against the media's noise of other things. Avoid releasing vanity metrics and things that don't matter to customers and fans. Instead, focus on things that get people excited. My general rule of thumb is demo > gameplay video > developer video > screenshots > blogs. I do all of them though, because different people respond to different things. You can check out our facebook page to see how we do things: http://www.facebook.com/mightyrabbitstudios And if you are interested I can share any of the "insights" metrics with you in a private message (email, perhaps?)
sorry für das OT
Benutzeravatar
Schrompf
Moderator
Beiträge: 5185
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [D3D9] Ärger mit Shadern

Beitrag von Schrompf »

Danke für all die Tipps. Mit dem Aufbau des Bekanntheitsgrades werde ich mich bald beschäftigen.

Was das Schatten-Thema angeht: ich hatte wie immer noch einige Detailbugs in den Shadern, die aufgrund des Kaskaden-Prinzips schön mitskaliert wurden :-) Die Schatten sehen jetzt schön stetig aus und bekommen bei großen Lichtquellengrößen auch schön weiche Kanten. Die Performance ist inzwischen auch wieder ok: einmal neubooten und ein Update des Grafikkartentreibers haben dafür gesorgt, dass ich jetzt bei fünf Lichtquellen mit insgesamt 160 Textursamples pro Texel (1+3 Passes) immernoch 250 fps habe.

Eigentlich absurd. Mit 160 Samples pro Texel könnte ich auch einfach Path Tracing durch das Bild betreiben. Ich bekäme dann wohl aber nur einen einzigen Strahltest hin, während die aktuelle Methode sehr schön die weichen Licht-Schatten-Übergänge fortpflanzt.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
klickverbot
Establishment
Beiträge: 191
Registriert: 01.03.2009, 19:22
Echter Name: David N.

Re: [D3D9] Ärger mit Shadern

Beitrag von klickverbot »

Keine weltbewegenden Neuigkeiten, aber dennoch ein netter Erfahrungsbericht: 1-Hour Video Game MBA.

Im ersten Moment hat mich die Beschreibung im ursprünglichen Post übrigens ein bisschen an Monaco (letztes Jahr IGF-Winner) erinnert, aber das hat wohl getäuscht, wie ich merke.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4287
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: [D3D9] Ärger mit Shadern

Beitrag von Chromanoid »

coole sache! wie sieht's denn mit nem animierten zombie aus? oder projizierst du da eher eine animierte schattentextur auf den boden? oder lässt du die schatten für solche Sachen ganz weg?

BTW wie wäre ein durch Google besser auffindbarer Name für das Thema :) ?
Antworten