texturiertes DrawPoly?
Übersicht

![]() |
juse4proBetreff: texturiertes DrawPoly? |
![]() 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 |
![]() 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 |
![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Philip: Danke für den Tipp, aber ich verwende fast ausschließlich DirectX (Frag mich nicht wieso ![]() @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 ![]() *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 |
![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin dort der vorletzte Poster ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group