texturiertes DrawPoly?
Übersicht BlitzMax, BlitzMax NG Allgemein
juse4proBetreff: texturiertes DrawPoly? |
Di, Dez 13, 2011 19:00 Antworten mit Zitat |
|
---|---|---|
Hi,
ich würde gern DrawPoly verwenden, nicht nur einfarbig, sondern mit einem TImage oder ähnlichem belegt. Hab die Referenz und Forensuche durchstöbert, aber nix gefunden. Wäre über Hilfe sehr dankbar. -Juse |
||
PhillipK |
Di, Dez 13, 2011 20:12 Antworten mit Zitat |
|
---|---|---|
Das ginge meines wissens nach nur mit OpenGL direkt.
Glücklicherweise bietet blitzmax die möglichkeit, direkt OGL befehle zu verwenden. ein kleines beispiel, auf die schnelle hingekritzelt: BlitzMax: [AUSKLAPPEN] SuperStrict Ich habe auf der Entertaste eine "schalter" umstellen lassen. Fall 1 zeichnet direkt mit DrawImage, Fall 2 zeichnet mit OGL befehlen. Ein paar anmerkungen: Ich lade meine texturen immer über die BMX eigene funktion 'GlTexFromPixmap( pix:TPixmap )' Die positionen etc für jeden 'eckpunkt' (sprich: Vertex) selbst zu schreiben, kann mühselig sein, aber doch recht einfach autmatisiert werden. Kommt immer darauf an, was genau du machen möchtest UV Koordinaten: Kann recht unverständlich sein, sind aber ganz einfach zu berechnen. Grundsätzlich, eine u bzw v koordinate liegt typischerweise zwischen 0 und 1. Alles größer als 1 würde die textur (dein bild) wiederholend zeichnen. Wenn du weißt, von welcher XY koordinate bis welche XY koordinate dein Bild geht, so ist das recht einfach: U1:float = StartX / Float(BildBreite) U2:float = EndX / Float(BildBreite) V1:Float = StartY / Float(BildHöhe) V2:Float = EndY / Float(BildHöhe) (ps: Integer-ab/aufrundung können hier eine nervige fehlerquelle sein. Also immer direkt mit Floats arbeiten, wenn möglich.) ----------------------------- Eine letzte anmerkung: Eine entsprechende möglichkeit mit DirectX ist mir nicht bekannt, allerdings nutze ich auch ausschließlich OpenGL =) |
||
BladeRunnerModerator |
Di, Dez 13, 2011 21:27 Antworten mit Zitat |
|
---|---|---|
Gibt es auf jeden Fall für beide Treiber, musst mal im englischen Codearchiv danach suchen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
juse4pro |
Mi, Dez 14, 2011 0:27 Antworten mit Zitat |
|
---|---|---|
@Philip: Danke für den Tipp, aber ich verwende fast ausschließlich DirectX (Frag mich nicht wieso ). Und ja, ich möchte jedes einzelne Vertex selbst positionieren, um meine "hübschen" 2D-Trails zu verwirklichen.
@BladeRunner: Ich werd mich mal nochmal umgucken, jetzt hab ich ja einen Denkansatz, hoffe, dass sich was findet. Es gibt anscheinend einen undokumentieren Befehl namens RenderPolys. Jedoch sind selbst im Code keinerlei Kommentare... Aber dieser Befehl riecht gut (rein metaphorisch betrachtet). *EDIT*: Habe diesen Thread gefunden, welcher anscheinend das liefert, was ich brauche, jedoch scheint der Code alt zu sein, da er einen Fehler wirft: 'islost' gibt es nicht in der Zeile: BlitzMax: [AUSKLAPPEN] If Driver.islost Return Habe sie spontan auskommentiert, jedoch macht die Funktion nun einfach garnichts. Anscheinend schlägt das Umcasten sowohl für DirectX als auch für OpenGL fehl, und keiner der beiden Optionen wird ausgeführt. Vielleicht weis ja jemand weiter? |
||
mpmxyz |
Mi, Dez 14, 2011 19:38 Antworten mit Zitat |
|
---|---|---|
Mir ist heute dieser Thread aufgefallen:
http://www.blitzmax.com/Commun...opic=58765 Das Modul scheint eine Möglichkeit zum texturierten Zeichnen zu kennen. MfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
juse4pro |
Fr, Dez 16, 2011 23:05 Antworten mit Zitat |
|
---|---|---|
Ich bin dort der vorletzte Poster Also den habe ich auch schon gefunden, aber der Typ nach mir hat es re-uploaded. Hoffe ich krieg dort was raus.. | ||
Übersicht BlitzMax, BlitzMax NG Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group