Die Suche ergab 296 Treffer

von Jörg
18.06.2009, 13:47
Forum: Grafikprogrammierung
Thema: [D3D11] Alpha-to-Coverage und Dual-Source-Color-Blending
Antworten: 6
Zugriffe: 1671

Re: [D3D11] Alpha-to-Coverage und Dual-Source-Color-Blending

Nur damit ich richtig mitkomme ;) Wie willst Du bei MSAA den Tiefenwert des letzten "Passes" (DrawCall) erhalten und verrechnen, so wie Du es in deinem Absatz ueber "korrektes Rendering" beschrieben hast? Was mir absolut nicht klar wird aus der Beschreibung ist folgendes: Du blen...
von Jörg
17.06.2009, 08:28
Forum: Allgemeines Talk-Brett
Thema: Lizenzen... In wie fern nötig?
Antworten: 5
Zugriffe: 1576

Re: Lizenzen... In wie fern nötig?

Um mal zu zeigen, was da auf Dich zukommen kann: http://udn.epicgames.com/Three/ThirdPartySoftware.html Dort sind die in UE3 verwendeten Module plus ihre Bedingungen, die aus den Lizenzen abgeleitet werden, aufgefuehrt. Das reicht von "frei zu verwenden ohne Einschraenkungen" ueber "d...
von Jörg
17.06.2009, 08:19
Forum: Grafikprogrammierung
Thema: [D3D11] Alpha-to-Coverage und Dual-Source-Color-Blending
Antworten: 6
Zugriffe: 1671

Re: [D3D11] Alpha-to-Coverage und Dual-Source-Color-Blending

Das klingt kompliziert, aber vielleicht gibt es noch einen anderen Weg, dein Problem zu loesen? Welcher Art sind die Artefakte, die du hoffst, ueber AtC zu minimieren? Ich muss ehrlich sagen, dass ich nicht genau weiss, ob AtC wirklich das richtige ist, um reihenfolge-unabhaengige Transparenz zu bek...
von Jörg
07.06.2009, 19:47
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Wie berechnet man einen Tangentenvektor?
Antworten: 5
Zugriffe: 3196

Re: Wie berechnet man einen Tangentenvektor?

Ganz einfach: Du suchst die Loesung T,B fuer das Gleichungssystem
P1 = P0 + (u1-u0)*T + (v1-v0)*B
P2 = P0 + (u2-u0)*T + (v2-v0)*B

wobei P0,P1,P2 die Dreieckseckpunkte in Objektkoordinaten sind, und u und v deren Mapping.

2x3 Gleichungen fuer 6 Unbekannte :)
von Jörg
07.06.2009, 19:30
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Wie berechnet man einen Tangentenvektor?
Antworten: 5
Zugriffe: 3196

Re: Wie berechnet man einen Tangentenvektor?

Holla nein, den Tangentspace berechnest Du normalerweise pro Vertex und verwendest ihn im Pixelshader nur interpoliert.
von Jörg
07.06.2009, 19:21
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Wie berechnet man einen Tangentenvektor?
Antworten: 5
Zugriffe: 3196

Re: Wie berechnet man einen Tangentenvektor?

Die Tangenten und/oder Bi-Normalen (sag lieber Bi-Tangente dazu) errechnest du aus dem Texturemapping der Normal-Map des Dreiecks. Da beide in der Ebene des Dreiecks liegen, kannst Du Dir aussuchen, welche du nimmst. Ja nach Mapping kann es aber auch von Vorteil sein, beide zu berechnen, statt ueber...
von Jörg
04.06.2009, 13:38
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: (gelöst) [C++] Zwei Objekte in einem new
Antworten: 15
Zugriffe: 2956

Re: [C++] Zwei Objekte in einem new

Wie dynamisch muss die Loesung sein? Ist die Beziehung zwischen Klasse und Interface-Implementierung fest fuer die Lebenszeit? Wer garantiert, dass deine Interfaces wirklich alle immer in das gleiche Schema (Aufbau) passen....neben der vtable wird doch irgendwann noch etwas dazu kommen an Daten, ode...
von Jörg
31.05.2009, 19:51
Forum: Algorithmen und Datenstrukturen
Thema: Konsole thread-safe machen
Antworten: 6
Zugriffe: 1374

Re: Konsole thread-safe machen

Wenn Du dich auf Windows beschraenkst, dann schau dir mal PostThreadMessage und GetMessage an. Mehr brauchst Du dann nicht. std::queue ist nicht thread-safe, dass muesstest du dann aussenrum basteln.
von Jörg
28.05.2009, 13:53
Forum: Grafikprogrammierung
Thema: [DX9] Merkwürdigkeit mit RenderTargets
Antworten: 7
Zugriffe: 1539

Re: [DX9] Merkwürdigkeit mit RenderTargets

DomiOh hat geschrieben:Die 5200 hat SM3.0 Unterstützung ohne Flow-Control (definitiv), das sagt sogar DXCapsVIewer
Und die 5600 hat "volle" SM3.0 Unterstützung.
Holla, dann haben die aus 2.a 3.0 gemacht ???
von Jörg
15.05.2009, 18:35
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Wenn ich das richtig lese, kannst du das ignorieren, da du fuer das Auftreten eh den Wertebereich der Ziels ueberschreiten musst.
http://support.microsoft.com/kb/126455/en-us
von Jörg
15.05.2009, 18:22
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Oh, das wuerde mich sehr erstaunen, in welchen Faellen unterscheidet sich fistp von frndint im Rundungsverhalten?
von Jörg
15.05.2009, 18:06
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Wozu frndint in der Funktion? fistp allein rundet auch....
von Jörg
15.05.2009, 09:32
Forum: Grafikprogrammierung
Thema: [PS40] Sortieren
Antworten: 16
Zugriffe: 3593

Re: [PS40] Sortieren

Ich wuerde ein Merge-Sort mit 4er-Gruppen als kleinste Groesse verwenden. for(i=0;i<16;++i) sort4(array + 4*i); for(i=0;i<8;++i) merge(4,array + 8*i); for(i=0;i<4;++i) merge(8,array + 16*i); for(i=0;i<2;++i) merge(16,array + 32*i); merge(32,array); Brauchst keine Rekursion o.ae. und sollte fix sein,...
von Jörg
15.05.2009, 09:27
Forum: Grafikprogrammierung
Thema: [PS40] Mipmaplevel berechen
Antworten: 4
Zugriffe: 1248

Re: [PS40] Mipmaplevel berechen

Auf die schnelle ohne Papier:
miplevel = constant * ln(distance) + 1/cos(normal * to_view_vector)
constant ergibt sich aus Textureaufloesung, Bildschirmaufloesung und einem Normalisierungsfaktor fuer log_base2.
von Jörg
15.05.2009, 08:37
Forum: Grafikprogrammierung
Thema: [PS40] Mipmaplevel berechen
Antworten: 4
Zugriffe: 1248

Re: [PS40] Mipmaplevel berechen

Fuer spezielle Geometrien kann man das im Pixelshader machen, aber fuer ein allgemeines Mesh, welches in unterschiedlichen Aufloesungen texturiert ist, geht das nicht ohne Zusatzinformationen pro Pixel. Eine Naeherung kannst Du die herleiten, in dem du eine zu Kamera parallele Flaeche betrachtest un...
von Jörg
14.05.2009, 20:36
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Linux] Coredumps zu meinem Vorteil nutzen
Antworten: 12
Zugriffe: 1741

Re: [Linux] Coredumps zu meinem Vorteil nutzen

Jo dafuer sind sie ja da. Wenn du sie permanent aendern willst, dann musst Du das in Kombination mit sysctl machen (siehe man-page). Bei mir (ubuntu 8.10) tut es ein einfaches echo "core_%e" > /etc/sys/kernel/core_pattern ausgefuehrt als root z.B. Alternativ eben sysctl benutzen und in ein...
von Jörg
14.05.2009, 11:43
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Hast Du das mal durch einen Unittest gejagt? Floats >1 werden doch auch als nicht als 000101011 * 2^-1 abgelegt, sondern die führende 1 wird immer an die Spitze der Mantisse hochgezogen und der Unterschied durch den Exponenten ausgeglichen. Das stimmt, aber durch das Bias 256 und die Einschraenkung...
von Jörg
14.05.2009, 10:53
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Ja das geht, externe Module zu nehmen. Aber damit bekommst Du normalerweise den Funktionsaufruf-Overhead mit, der fuer einen 2Zeiler dann doch erheblich ist. Ich weiss nicht, wie gut LTCG funktioniert, um das abzufangen und ob du dann am Ende nicht genauso langsam dastehst. Bezgl. 32 Bit....irgendwa...
von Jörg
13.05.2009, 20:48
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Mir faellt da gerade ein, dass man da was machen koennte, mit Aufwand :) 1. Eine dummy-Funktion definieren, welche mit emit-Direktiven Platzhalter schafft. 2. Vom Compiler nicht direkt .obj-Files generieren lassen , sondern einen asm-Output 3. Dort mit einem eigenen Tool die dummy-Aufrufe ersetzen 4...
von Jörg
13.05.2009, 20:40
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Koennte das kein Grund sein, sich vom MS-Compiler zu verabschieden?
von Jörg
13.05.2009, 19:58
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [C++] Gleitkomma- zu Ganzzahlen runden
Antworten: 32
Zugriffe: 7063

Re: [C++] Gleitkomma- zu Ganzzahlen runden

Ich will keine flamewar vom Zaun brechen, aber statt aliasing-verletzenden casts wuerde ich hier doch lieber den inline-assembler bemuehen. Das sichert zu, dass auf neuen Platformen wenigstens der drueber stolpert, der den Code portiert ;) Und IEEE floats muessen ja auch nicht unbedingt sein, falls ...
von Jörg
13.05.2009, 19:44
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: [Linux] Coredumps zu meinem Vorteil nutzen
Antworten: 12
Zugriffe: 1741

Re: [Linux] Coredumps zu meinem Vorteil nutzen

Na die core dumps kannst Du doch ganz einfach mit gdb debuggen.

>gdb a.out core.pid

Was hat denn nicht geklappt?
von Jörg
04.05.2009, 10:41
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Berechnen der Flächen Position in der Lightmap
Antworten: 5
Zugriffe: 3321

Re: Berechnen der Flächen Position in der Lightmap

UV-Unwrapping waere ein Stichwort zum Suchen.

Das uvatlas-tool aus dem DX SDK kann das auch.
von Jörg
04.05.2009, 08:15
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Maximale Steigung einer Ebene
Antworten: 6
Zugriffe: 4286

Re: Maximale Steigung einer Ebene

Ey = Einheitsvektor Y-Richtung (0,1,0)
k ist der Parameter der Geradengleichung (reelle Zahl)
von Jörg
03.05.2009, 19:52
Forum: Allgemeine Fragen der Spieleentwicklung
Thema: Maximale Steigung einer Ebene
Antworten: 6
Zugriffe: 4286

Re: Maximale Steigung einer Ebene

Der geometrische Ansatz ist sehr einfach: v1,v2,3 = Dreieckspunkte, N = Normalenvektor der aufgespannten Ebene 1. waehle P1 = v1 als einen Punkt der Geraden 2. schneide die Hilfsgerade (v1 + Ey) + k*(N) mit der Ebene => P2 3. Alle Geraden, die in der Ebene liegen und parallel zu (P1,P2) sind, verlau...
von Jörg
03.05.2009, 10:18
Forum: Grafikprogrammierung
Thema: [DX9] 2 Fragen: Rotation und GUI mit Weltkoordinaten
Antworten: 10
Zugriffe: 2681

Re: [DX9] 2 Fragen: Rotation und GUI mit Weltkoordinaten

Ich kann versuchen, gut zu raten, da dein Code nicht sehr aussagekraeftig ist: Wenn setRotation das macht, was man vermutet, naemlich eine absolute Rotation zu setzen, dann ergibt es keinen Sinn, vorher eine relative Rotation zu bilden, sprich, die Subtraktion der Winkel passt hier nicht ganz. Zur P...
von Jörg
28.04.2009, 12:59
Forum: Grafikprogrammierung
Thema: Lineare Z-Werte in Render-Target schreiben
Antworten: 16
Zugriffe: 3879

Re: Lineare Z-Werte in Render-Target schreiben

Krishty hat geschrieben:AMD empfiehlt ab der HD-2000-Reihe sogar, im Pixel-Shader SV_Position mit invertierter Projektion zurückzutransformieren
Ich dachte, das bezog sich nur auf den Throughput in Verbindung mit einem akiven Geometrie-Shader....hast Du einen Link?
von Jörg
27.04.2009, 20:45
Forum: Grafikprogrammierung
Thema: Lineare Z-Werte in Render-Target schreiben
Antworten: 16
Zugriffe: 3879

Re: Lineare Z-Werte in Render-Target schreiben

Korrekt, wenn Du im Vertex-Shader (z-zNear)/(zFar-zNear) an den Pixelshader weiterreichst, erhaeltst Du dort lineare, normierte Z-Werte, anhand derer Du ohne Division jederzeit die Kamera-bezogene Tiefe zurueckrechnen kannst. Ist am Ende nur ein Trade-Off, den einen Wert bekommst Du 'gratis', dafuer...
von Jörg
27.04.2009, 13:17
Forum: Grafikprogrammierung
Thema: Lineare Z-Werte in Render-Target schreiben
Antworten: 16
Zugriffe: 3879

Re: Lineare Z-Werte in Render-Target schreiben

Nach der Projektionsmatrix ist z doch linear im Bereich 0 bis 1. Du musst es nur vor der perspektivischen Division abgreifen. Nur teilweise korrekt. Freilich ist es linear vor der Division, aber nicht nur im Bereich 0..1. Ohne Division hast Du den vollen World-Space-Bereich fuer Z. Nach der Divisio...