Ava's Engine

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Ava

Gast

Betreff: Ava's Engine

BeitragDi, Dez 29, 2009 1:24
Antworten mit Zitat
Liebe Gemeinde...

da ich nicht einfach still schweigend und spurlos abtreten möchte, habe ich mich dazu entschlossen, euch einen kleinen Teil meiner persönlichen Modulsammlung als nachträgliches Weinachts- und quasi Abschiedsgeschenk zu hinterlassen. Es ist der Hauptteil meiner Grafikengine enthalten, sowie ein paar Kleinigkeiten, die einem das Programmieren angenehmer gestalten. Gerne hätte ich euch noch mehr in das Päckchen hinein gepackt, doch war der Rest leider sehr chaotisch und oft unvollständig.

Ich bin keine "Professionelle" und ich habe diese Module ursprüglich nur für mich selbst entworfen. Von daher kann und möchte ich nicht dafür garantieren, dass ich immer für alles den besten, schnellsten, schönsten Lösungsweg gewählt habe - das habe ich mit Sicherheit nicht. Aber es läuft ... und es läuft gut. Das kann ich nach gut 2,5 Jahren, die ich mit diesen Modulen verbracht habe, reinen Gewissens behaupten. Und wer ein paar meiner Demos gesehen hat, kann dies - denke ich - auch bestätigen. Smile

Eine Dokumentation ist nicht enthalten. Ich werde aber versuchen, die nachfolgenden Beispiele in den nächsten Tagen noch um ein paar weitere zu ergänzen.

In diesem Sinne...
Liebe Grüsse, Vanessa

Arrow DOWNLOAD

Beispiel 1: Primitive (kleine Übersicht)
BlitzMax: [AUSKLAPPEN]


' Engine starten

Framework Ava.Gfx
AvaGraphics ( 820, 220 )

' erste Reihe

DrawRect ( 20, 20, 80, 80 )
DrawFrame ( 120, 20, 80, 80, 2 )

DrawRoundRect ( 220, 20, 80, 80, 30 )
DrawRoundFrame ( 320, 20, 80, 80, 30, 2 )

DrawOval ( 420, 20, 80, 80 )
DrawRing ( 520, 20, 80, 80, 2 )

DrawRhomb ( 620, 20, 80, 80 )
DrawInvRhomb ( 720, 20, 80, 80 )

' zweite Reihe

SetOrigin ( 0, 100, 0, True )

DrawLine ( 20, 100, 100, 20 )
DrawLineStrip ( [ 120.0, 20.0, 140.0, 100.0, 180.0, 20.0, 200.0, 100.0 ] )
DrawLineLoop ( [ 220.0, 20.0, 300.0, 20.0, 220.0, 100.0, 300.0, 100.0 ] )
DrawLines ( [ 320.00, 20.0, 400.0, 20.0, 320.0, 60.0, 400.0, 60.0, 320.0, 100.0, 400.0, 100.0 ] )

SetOvalRadius ( 0.00, 270.00 )
DrawOval ( 420, 20, 80, 80 )
DrawRing ( 520, 20, 80, 80, 8 )

DrawRhombFrame ( 620, 20, 80, 80 )
DrawInvRhombFrame ( 720, 20, 80, 80 )

' anzeigen und beenden

Flip ( )
WaitKey ( )


user posted image


Beispiel 2: ImageBuffers + ImageMasking
BlitzMax: [AUSKLAPPEN]


' Engine starten

Framework Ava.Gfx
AvaGraphics ( 598, 572 )

' erste Textur erstellen

Global Tex_A:TImage = CreateImage ( 256, 256 )

PushBuffer ( Tex_A )

PushClsColor ( 0.50, 0.25, 0.00, 1.00 )

Cls ( )

PopClsColor ( )

For Local x:Int = 0 Until 4
For Local y:Int = 0 Until 4

Select ( x + y ) Mod 2

Case 0 PushColor ( 0.75, 0.00, 0.00 )
Case 1 PushColor ( 0.75, 0.50, 0.00 )

EndSelect

DrawRhomb ( x * 64, y * 64, 64, 64 )

PopColor ( )

Next
Next

PopBuffer ( )

' zweite Textur erstellen

Global Tex_B:TImage = CreateImage ( 256, 256 )

PushBuffer ( Tex_B )

DrawInvRhomb ( 0, 0, 256, 256 )

PopBuffer ( )

' Texturen zeichnen

DrawImage ( Tex_A, 20, 20 )
DrawImage ( Tex_B, 20, 296 )

' Texturen kombiniert zeichnen

DrawMaskedImage ( Tex_A, Tex_B, 316, 148 )

' anzeigen und beenden

Flip ( )
WaitKey ( )


user posted image


Beispiel 3: FontColor + SimplePick
BlitzMax: [AUSKLAPPEN]


Framework Ava.Mouse
AvaGraphics ( 512, 320 )

Global Content:String [ ]

Content :+ [ "Neues Spiel" ]
Content :+ [ "Spielstand laden" ]
Content :+ [ "Einstellungen" ]
Content :+ [ "Beenden" ]

SetImageFont ( LoadImageFont ( "INCBIN::INCBIN\ARIAL.TTF", 40 ) )
SetFontColor1 ( 1.00, 0.50, 0.00, 1.00 )
SetFontColor2 ( 1.00, 0.90, 0.00, 1.00 )
SetFontColor3 ( 1.00, 0.20, 0.00, 1.00 )

Repeat

Cls ( )

PushOrigin ( 256, 64, 0 )

For Local i:Int = 0 Until Content.Length

SimpleRectPick ( Content [ i ], -160, 0, 320, 50 )

Select SimplePickedObject ( ) = Content [ i ]

Case True PushColor ( 1.00, 1.00, 1.00 )
Case False PushColor ( 0.60, 0.60, 0.60 )

EndSelect

DrawText ( Content [ i ], 0, 0, 0.50 )
SetOrigin ( 0, 50, 0, True )

PopColor ( )

Next

PopOrigin ( )

Flip ( )

Until ( KeyHit ( KEY_ESCAPE ) Or AppTerminate ( ) )


user posted image


Beispiel 4: StartDraw + DrawVertex
BlitzMax: [AUSKLAPPEN]


Framework Ava.Gfx
AvaGraphics ( 400, 400 )

StartDraw ( GL_TRIANGLES )

DrawVertex ( 50, 350, , , , 0.00, 0.00, 1.00 )
DrawVertex ( 350, 350, , , , 0.00, 0.00, 1.00 )
DrawVertex ( 200, 50, , , , 1.00, 1.00, 1.00 )

StartDraw ( GL_QUADS )

DrawVertex ( 100, 350, , , , 0.00, 0.00, 1.00 )
DrawVertex ( 300, 300, , , , 0.00, 0.00, 1.00 )
DrawVertex ( 250, 175, , , , 1.00, 1.00, 1.00 )
DrawVertex ( 150, 175, , , , 1.00, 1.00, 1.00 )

PushLineWidth ( 3.00 )

StartDraw ( GL_LINE_LOOP )

DrawVertex ( 50, 350, , , , 0.75, 0.75, 1.00 )
DrawVertex ( 350, 350, , , , 0.75, 0.75, 1.00 )
DrawVertex ( 200, 50, , , , 0.00, 0.00, 1.00 )

EndDraw ( )

PopLineWidth ( )

Flip ( )
WaitKey ( )


user posted image


Beispiel 5: Texturen
BlitzMax: [AUSKLAPPEN]


Framework Ava.Gfx
AvaGraphics ( 464, 232 )

Global Texture:TImage = CreateImage ( 128, 128 )

PushBuffer ( Texture )

StartDraw ( GL_QUADS )

DrawVertex ( 0, 0, , , , 1.00, 0.00, 0.00 )
DrawVertex ( 0, 128, , , , 1.00, 0.00, 0.00 )
DrawVertex ( 128, 128, , , , 1.00, 1.00, 0.00 )
DrawVertex ( 128, 0, , , , 1.00, 1.00, 0.00 )

EndDraw ( )

PushColor ( 0.00, 0.00, 0.00, 0.50 )

DrawRect ( 16, 16, 96, 96 )

PopColor ( )

PopBuffer ( )

PushTexture ( Texture )

DrawRect ( 20, 20, 128, 128 )
DrawOval ( 168, 20, 128, 128 )
DrawRing ( 316, 20, 128, 128, 16 )

PushUVScale ( 9, 1 )

DrawRect ( 20, 168, 424, 48 )

PopUVScale ( )

PopTexture (

Flip ( )
WaitKey ( )


user posted image


Beispiel 6: AlphaTest ( + OvalColor + Screenshot )
BlitzMax: [AUSKLAPPEN]


Framework Ava.Mouse
AvaGraphics ( 256, 256 )

Global Image:TImage = CreateImage ( 256, 256 )

PushBuffer ( Image )

PushOvalColor2 ( 1.00, 1.00, 1.00, 0.50 )

DrawOval ( 0, 0, 256, 256 )

PopOvalColor2 ( )

PopBuffer ( )

Global Treshold:Int = 0

Repeat

Cls ( )

PushAlphaFunc ( GL_GREATER, ( Treshold * 0.05 + 0.50 ) )

DrawImage ( Image, 0, 0 )

PopAlphaFunc ( )

DrawText ( "Mit der linken/rechten Maustaste~nden Schwellenwert verändern.", 10, 10 )

Select True

Case GetMouseHit ( 1 ) Treshold = Min ( Treshold + 1, 10 )
Case GetMouseHit ( 2 ) Treshold = Max ( Treshold - 1, 0 )

EndSelect

Flip ( )

If KeyHit ( KEY_F12 )

Screenshot ( )

EndIf

Until ( KeyHit ( KEY_ESCAPE ) Or AppTerminate ( ) )

user posted imageuser posted image
  • Zuletzt bearbeitet von Ava am Di, Dez 29, 2009 3:21, insgesamt 12-mal bearbeitet

AnniXa

BeitragDi, Dez 29, 2009 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen dank dafür werds nochmal probieren =)
aber wieso willst du denn abtreten? Sad
|moonForge|
Ich bin Pokémon Meisterin seit 1998!

DaysShadow

BeitragDi, Dez 29, 2009 1:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank, auch wenn es einen etwas bitteren Nachgeschmack hat wenn jemand so talentiertes hier nicht mehr teilhaben wird.

So Smile man mit dem einen und Crying or Very sad mit dem anderen Auge.

MfG, alles Gute und viel Erfolg für die Zukunft
DaysShadow
Blessed is the mind too small for doubt

Xeres

Moderator

BeitragDi, Dez 29, 2009 1:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Besten dank, ich bin sicher, dass wird sich als sehr nützlich erweisen.
Schade das es dann keine Demos mehr von dir zu sehen geben wird... Confused
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

ChaosCoder

BeitragDi, Dez 29, 2009 1:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie? Was hab ich verpasst? Ava? Weg?
Projekte: Geolaria | aNemy
Webseite: chaosspace.de
 

n-Halbleiter

BeitragDi, Dez 29, 2009 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
CC, genau das dachte ich mir auch gerade... Naja, kann man wohl nichts machen.

Die Engine funktioniert prima, das kann ich bestätigen. Wink
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

ComNik

BeitragDi, Dez 29, 2009 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist wirklich schade Sad
Viel Glück und genauso viel Erfolg wie hier, bei was auch immer du machen willst Wink

Aber die Codes könnten ein Anstoss sein mal von meinem DX Fetischismus abzulassen...
lg
ComNik
WIP: Vorx.Engine

beanage.johannes

BeitragFr, Jan 22, 2010 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ich weis, ich grabe hier was (ein bisschen) altes aus, aber der DL - link ist tot Sad
 

n-Halbleiter

BeitragMo, Jan 25, 2010 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, das macht nichts... Da ich nicht genau weiß, woran es liegt, dass der DL tot ist, hab ich es gerade nochmal im Archiv hochgeladen: Klickmich!
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

beanage.johannes

BeitragMo, Jan 25, 2010 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen Dank.
 

Ava

Gast

BeitragFr, Feb 05, 2010 18:10
Antworten mit Zitat
Das Interesse scheint wie gehabt annähernd gegen Null zu gehen. Confused Naja, was solls. Ich werde den Download demnächst dennoch mal updaten, da ich einige Sachen an der Grundengine verbessert und erweitert habe.

Und mit etwas Glück gibt es irgendwann vielleicht doch noch einen 3D Aufsatz für die Engine. Mich hat dies bezüglich gestern wieder etwas Ehrgeiz gepackt, so dass ich ein wenig in der Richtung rumprobiert habe.
  • Zuletzt bearbeitet von Ava am Di, Feb 16, 2010 0:08, insgesamt 3-mal bearbeitet

Xeres

Moderator

BeitragFr, Feb 05, 2010 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Interesse ist schon da, bloß habe ich noch 1003 andere Dinge zu tun... Sobald es meine Zeit erlaubt, werde ich mir das Modul zu Herzen nehmen. Glaub nicht, deine Anstrengungen würden ungewürdigt verpuffen Wink
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

ComNik

BeitragFr, Feb 05, 2010 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau, das Interresse ist da. Ich hab alles was ich über OpenGL aus deinem Code gelernt Wink

lg
ComNik
WIP: Vorx.Engine

BladeRunner

Moderator

BeitragFr, Feb 05, 2010 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerade Du als langjähriges Mitglied solltest wissen das kein Feedback nicht mit kein Interesse gleichzusetzen ist. Im Gegenteil, die besten Sachen erkennt man oft daran dassim Thread nicht gemeckert wird.

Zudem:
Warum sollten die Leute noch viel Feedback schreiben wo Du im Startpost angekündigt hattest dich aus dem Portal zurückzuziehen? Wer nicht da ist wird eh nichts dazu lesen, sollte man annehmen.
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
 

n-Halbleiter

BeitragSa, Feb 06, 2010 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, so sieht's aus. Wenn etwas gut ist, gibt's kein bis wenig Feedback..

Ich kann nur sagen, dass ich die Engine super finde, ich bin aktuell am auseinandernehmen, dokumentieren und lernen. Sollte ich irgendwann einmal so weit sein, eine gescheite Doku zu schreiben, werde ich die sicher auch mal der Allgemeinheit zur Verfügung stellen. Wink
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

Skabus

BeitragSo, Feb 07, 2010 3:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht sollte man auch einfach mal aufhören immer nach dem Prinzip "Nicht gemeckert ist genug gelobt"
zu gehen?

Ich kann bissher nur gutes von der Engine berichten, sie leistet bis dato gute Arbeit für mein Projekt^^

n-Halbleiter: An ner Doku wär ich auch mal interessier!


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

BladeRunner

Moderator

BeitragSo, Feb 07, 2010 10:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann, skabus, darf sich hier jeder an die eigene Nase greifen. Sicher wäre es schön wenn man mehr Feedback erhält, aber die Erfahrung zeigt halt einfach dass es nicht so ist. Du hattest seit dem 29.12. Zeit hier was positives zu schreiben, und tust es jetzt, mit erhobenem Zeigefinger, nachdem Ava das mangelnde Interesse beklagt. Wenn es Dir so gut gefallen hat hättest Du es doch auch früher schreiben können, nicht wahr?
Das ist blanke Psychologie: Wenn es gut ist brauch ich nichts dazu zu sagen, es genügt ja meinen Ansprüchen. Der Mensch ist ein faules Tier Wink
Ich schliesse mich da nicht aus, ich hatte Avas Engine schon vor Veröffentlichung getestet und fand sie gut. Viel Feedback kam aber gerade deswegen nicht zustande.
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

Skabus

BeitragSo, Feb 07, 2010 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
@BladeRunner: Es ist richtig was du sagst^^

Das was du aber nicht weißt, ist, dass Ava mir damals schon wegen meinem Projekt
mit ihrer Engine geholfen hatte und da möchte ich sagen, hab ich doch recht viel Feedback gegeben.
Außerdem gabs bereits nen Tread mit ihrer Engine wo ich auch bereits postete.

Ich will ja auch niemanden belehren, oder der gleichen, ich gebe bei vielen Dingen auch recht wenig
bis kein Feedback ab.

Das liegt meistens aber daran, dass ich nicht viel mit ner Menge Dinge anfangen kann.
Bei Ava´s Engine benutze ich nicht mal 10% des Umfangs, einfach weil mir,wie Xeres sagt, die
Zeit fehlt, mich mit allem zu beschäftigen.

@Ava: Ich bitte dich nur, nicht zu denken, dass das Intresse gering ist nur weil keiner was schreibt.
Außerdem hats BladeRunner ja gesagt: Wenn du ankündigst aus dem Portal zu gehen, denkt
man sich, dass du dann eh kein Feedback mehr lesen würdest.Mach einfach, was dir Spaß macht
und was dir gefällt, dass es sehr viele gibt, die sich für deine Projekte interessieren, auch wenn
sie net sonderlich viel posten, sollte ja eigentlich klar sein.

MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu
 

Ava

Gast

BeitragSo, Feb 07, 2010 14:02
Antworten mit Zitat
Diesen alten Hut wollte ich jetzt eigentlich gar nicht wieder herauskramen. Smile ... Lob, Kritik ... nein ...

Ich hätte jetzt eher vermutet, es würden sicher Fragen aufkommen und vielleicht würde es auch Probleme geben, wenn jemand die Engine ausprobieren / verwenden würden. Okay, ich muss Bladerunner natürlich Recht ... ich hätte in meinem Eröffnungspost erwähnen sollen, dass ich gerne bereit bin, Hilfestellung zu geben und Fragen beantworten.

Also: wenn ihr Fragen oder Probleme habt, helfe ich gerne!
(auf Wunsch könnte ich auch die Beispiele noch erweitern)

Das man sogar etwas aus meinem Code lernen kann, hätte ich nicht gedacht - und es freut mich riesig! Very Happy In diesem Sinne, danke für eure nachgereichten Eindrücke! Smile

Skabus

BeitragSo, Feb 07, 2010 14:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Aso, na wie gesagt, ich hab bissher keine Zeit gehabt mich mit allen Aspekten zu befassen.
Es wird sicher noch häufig einige offener Fragen geben, keine Sorge Wink

Freut mich aber zu wissen, dass ich fragen kann, sobald es nötig wird Smile


MfG Ska
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat

aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit!
Ein SNES-RPG mit Handels- und Wirtschaftselemente.
Infos?Hier: http://www.blitzforum.de/worklogs/234/
Besucht meine Seite:
www.seelenfriedhof.de.vu

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group