Blitzmax:Opengl-Anim. Textur funzt jetzt :-) [Solved]
Übersicht

SiriusMonkBetreff: Blitzmax:Opengl-Anim. Textur funzt jetzt :-) [Solved] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So der'le . Danke an Boulder ![]() ( Variablen / Felder und Global ) und in der SetTextureUV war noch ein Logikfehler, aber jetzt funzt es ![]() Fehlt nur noch Codecleaning ... Folgendener Code : BlitzMax: [AUSKLAPPEN]
dazugehöriges png: ( grau sollte eigentlich schwarz/transparent sein ![]() ![]() dazugehöriges Framework BlitzMax: [AUSKLAPPEN]
|
||
- Zuletzt bearbeitet von SiriusMonk am Mi, Feb 13, 2013 17:39, insgesamt 5-mal bearbeitet
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ein paar dinge:
1) Unheimlich schwer zu lesen. Bitte den Blitzmax Codetag verwenden und ein paar mehr leerzeilen spendieren 2) Grade opengl wartet mit ziemlich fiesen, ähnlich aussehenden funktionen auf. Hier sorge ich dafür, das immer brav zu bündeln: Glbegin, vertexdaten, glend. Vorne und hinterher nen absatz oder kommentar. Aktivieren von states etc auch schön gebündelt. 3) Was genau macht deine Animations-anzeige? BlitzMax: [AUSKLAPPEN]
Schaut weird aus. Im prinzip brauchst du eine umrechnungsfunktion: BlitzMax: [AUSKLAPPEN]
Das habe ich auf die schnelle als pseudocode geschrieben. Ein paar punkte: 1) UV koordinaten liegen im bereich 0...1. Das heißt floatzahlen. die berechnung geht relativ einfach: TotalePixelPositionX / BildBreite und TotalePixelPositionY / BildHöhe Ich verrechne allerdings eine verschiebung. so errechne ich die pixelposition im bild und teile sie durch die bildbreite bzw höhe. Es geht anders, man kann viel mehr vorberechnen, aber zur anschauung reicht es. 2) Ich hab die funktion rel. dreckig aufgebaut. Im prinzip bist du mit einem UV Array besser bediehnt, den du beim Bildladen erstellst. Im idealfall ist es ein float[,] wo der erste Index den Animationsindex darstellt und der 2te Index mit 0 für U und 1 für V steht. 3) Der code ist nicht getestet. Falls noch rückfragen bestehen, versuche ich das ganze mehr zu erklären ![]() |
||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein paar weitere Dinge:
1) Wie PhillipK sagte, rücke deinen Code ein (bitte mit Tabs). Benutze außerdem für Funktionsaufrufe Klammernpaare! 2) glEnable, egal welche Parameter, musst du pro Sache die du "enablen" willst nur einmal aufrufen, nicht in deiner "Loop"-Funktion. 3) Das glDisable( GL_TEXTURE_2D ) hat in deinem Code keinen Sinn, kann das sein? Gruß, Tennisball |
||
SiriusMonk |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wow !
Ich wollte grade meine Rechner runterfahren, vielen Dank euch beiden.... ich werde es soweit berücksichtigen und mir jetzt mal den "Pseudocode" zu Gemüte führen.... Die Animation ist entnommen aus Isometric Game Programming with DirectX 7.0 - daher auch der Animationsheet (nur von tga->png) wegen Pixmap .... eigentlich soll die Figur sich nur bewegen und die Keule schwingen - die TexCords-Angaben sind aus dem Orignalquellcode übernommen... Schönen Gruß und Danke SiriusMonk |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Winzigkeit, aber das Grau ist doch transparent ![]() |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group