Bereich: News Uhrzeit: 21:07 38.107.179.237
Vorhandene Einträge: 49
News sortieren: | Anzahl pro Seite:


Betreff: Neue Engine-Features
Geschrieben von J!0X, 03.10.2008 - 15:01 Keine Kommentare

Also in chronologischer Reihenfolge der Implementierung:
Beim Praktikum an der Universität entstand ein kleines Shadersystem mit funktionsfähigem Phong-Shader.
Objekte in der Szene werden jetzt durch einen Szenengraphen verwaltet und können durch das Scriptsystem erstellt, manipuliert oder gelöscht werden. Das lokale Koordinatensystem eines Nodes wird visualisiert und kann selektiert, verschoben und rotiert werden:



Es ist jetzt auch möglich, MD2-Models (Format aus Quake 2) zu laden, anzuzeigen und zu animieren.

(Hier mit Phong-Beleuchtung)

Zuletzt habe ich diesen Algorithmus zur Kollisionserkennung und -behandlung eines Ellipsoids mit beliebigen Dreiecken implementiert. Da dieser aber bei meiner Heightmap mit 6500 Dreiecken etwas zu langsam wurde, entwickelte ich noch einen Octree, der zur Optimierung nur nahegelegene Dreiecke dem Algorithmus übergibt.



(Das Model ist unabhängig von der Kollision)


Betreff: Serverumzug
Geschrieben von J!0X, 02.05.2008 - 12:41 4 Kommentare

Hier war während eines Serverumzugs alles offline, aber es sollte bis auf Directory Listing alles wieder funktionieren.
Schon länger nicht mehr geschrieben hier...
Ich arbeite momentan an einem kleinen Scriptsystem, das auf den Szenengraph zugreifen soll.
Ziel wäre z.B.:
root.particles1.setColor 0.23 0.84 1.0
Der Aufruf von Funktionen mit beliebigen Parametern funktioniert schon, sodass ich mich jetzt auf die Verbindung zum Szenengraphen konzentrieren kann.


Betreff: Tile-Engine und Partikelsystem
Geschrieben von J!0X, 24.09.2007 - 12:06 Keine Kommentare

Ich hab mal wieder an meiner Engine rumgebastelt und einige kleine Sachen hinzugefügt:
-Dynamische Tile-Engine
-beliebige Größe, passt sich der Auflösung an
-ein Tile hat eine Textur, eine Funktion (Wall, Ladder, ...) und ein Attribut (z.B. Score = 4)
-Kollisionserkennung und Gegenwirkung (Stoß), Gravitation
-Laden und speichern
-Granatenwerfer als Beispiel für Kollisionen etc.
-Kann auch dreidimensional gerendert werden




-Partikelsystem
-Verschiedene Eigenschaften wie Mittelwert der Größe (Zufallswerte werden immer mit einbezogen), Geschwindigkeit und Richtung etc.
-Bisher nur richtig in 2D gerendert, ARB_point_sprite funktioniert nicht wirklich und ich habe keine Lust, eine Matrix zu invertieren, um dann die Quads richtig zu rotieren

-Skybox
-Textur kann über "loadskytex ..." geladen werden
-Kanten sehen noch blöd aus
-GUI_Slider
-GUI-Elemente können bewegt werden, wenn sie fokussiert sind und die mittlere Maustaste gedrückt wird


Betreff: Engine
Geschrieben von J!0X, 29.08.2007 - 19:21 1 Kommentar


Ich kann jetzt aus Dateien verschiedene GUI-Konfigurationen laden und diese dann über Konsoleneingabe nutzen:
>showgui loadheightmap
Außerdem habe ich noch eine Konsolenausgabe hinzugefügt (echt sinnvoll für Debugging) und kann jetzt auch Skyboxes anzeigen(, die aber total scheiße aussehen).
Todo:
-Quads, die immer die Kamera anschauen
-Scene Graph
-Models laden
-Maps?


Betreff: Heightmaptest
Geschrieben von J!0X, 08.08.2007 - 18:25 Keine Kommentare


Hab mich ein bisschen mit Heightmaps beschäftigt und eine kleine Klasse geschrieben, die Bilder lädt und dann als Heightmap anzeigt. Ich habe auch die Normalenvektoren berechnet und eine Textur draufgemapt, damit das ganze schöner aussieht. Wie man vielleicht auf den Bildern erkennen kann, werfen die hohen Punkte der Map keine Schatten auf die tiefen Punkten (kurz: kein Shadow Mapping).
Keine Ahnung, was ich damit jetzt machen soll; vielleicht brauche ich die Klasse irgendwann noch einmal.

Heute im Englischkurs(Thema: False Friends):
Hr. Winter: "What is the meaning of bank?"
Philipp: "It is a double sit!"
Hr. Winter: "No, that's a bench."

Edit:
Philipp kann mit seinem Wortschatz echte Romane schreiben. Erst erzählt er uns von seinem double sit und jetzt beeindruckt er uns mit Trees, die leffs haben:
Hr.Winter: "Philipp?"
Philipp: "I would say..."
W.: "Never say 'I would say', because you say it right away!"
P.: "I will say... hmm it is diffucult; Please let me think two minutes."
[...]
W.: "Philipp, how do you imagine these two sentences?"
P.: "When I think on this two sentences, I think I sit on a balcon and look to a crowd."
[...]
W.: "Philipp, what do you see outside?"
P.: "I see trees with 'leffs'".

Kann leider nicht alles so schön nachkonstruieren, trotzdem beeindrucken mich seine Englischkenntnisse und ich beneide jetzt schon seinen Wortschatz.

Ich habe übrigens das RSS-Feed funktionsfähig gemacht. Wer dieses Weblog abonnieren möchte, kann das schöne Icon neben der Adresse anklicken. Das gilt natürlich nicht für die billigen Internet-Explorer-Nutzer :D.


Betreff: 3d2m beta1
Geschrieben von J!0X, 29.07.2007 - 21:30 1 Kommentar

Hab mich in den letzten Tagen noch einmal drangesetzt und 3d2m bis zum Betastadium gecodet. Es hat insgesamt etwas länger gedauert, weil ich nicht sehr intensiv an dem Spiel gearbeitet habe.
Bisher ist das größte Problem die Kamerafahrt. Leider habe ich auch keine Idee, wie ich das ganze verbessern könnte. Freue mich über Vorschläge.
Das Spiel sollte man nicht so ernst nehmen, da man wohl nicht gerne dreidimensionale Kartenspiele spielt. Eigentlich sollte es eine Art Test werden, wie weit ich mit meinen (noch sehr geringen) OpenGL skills komme :D.
Ich habe die Win32-Binary inklusive Daten bei sourceforge hochgeladen. Für Linux und Mac sollte man ohne Probleme kompilieren können, wenn man SDL, SDL_mixer, SDL_image, SDL_ttf und OpenGL als Libs installiert hat (Ich habe mit Mac keine Erfahrungen).
Sourceforge Projektseite
Windows .exe
Linux (kompiliert; keine Ahnung ob das funktioniert, hab keine Erfahrung mit Binaries unter Linux)
Source code


Betreff: 3d2m
Geschrieben von J!0X, 25.06.2007 - 13:34 Keine Kommentare

Hab schon länger nichts mehr geschrieben. Endlich sind Ferien und ich habe Zeit, mein 3D-Mau-Mau-Spiel zu Ende zu schreiben. Der Hauptteil des Spiels funktioniert bisher. Sowohl unter Windows als auch unter Linux öffnet sich das Fenster, die Texturen werden geladen und auch das GUI funktioniert. Eigentlich ist GUI nicht die richtige Bezeichnung, denn es können nur Buttons und Text angezeigt werden. Immerhin reicht es, um festzulegen, welcher Spieler vom Computer gespielt wird und welcher Spieler vom User gesteuert wird. Außerdem wird eine Hintergrundmusik geladen und im Menü gespielt. Als Musik habe ich einfach eine einfache Akkordabfolge (Grundkadenz, Paralleltonart) mit einigen Pentatonikskalen und Tonleitern auf der Gitarre und ein bisschen Schlagzeug genommen. Bisher nur als Midi-File. Im Spiel wird der Tisch mit Karten angezeigt und noch nicht richtig beleuchtet. Die "KI"(nicht wirklich eine richtige KI) des Computers funktioniert wunderbar und bevorzugt sogar bestimmte Karten. Ich kann also 4 Computer gegeneinander Spielen lassen und dabei zuschauen. Man kann auch als User mitspielen, ist aber immer noch mit einem Bug konfrontiert: Wenn eine Karte gezogen wird, wird bei den eigenen Karten eine Lücke angezeigt, aber die Karte fehlt. Ich habe irgendwo einen Fehler mit den Zahlenwerten der Karten. Als zweites Problem stellt sich dann das Licht: Ich habe die Normalenvektoren nicht richtig festgelegt und das Licht ist deshalb sehr unrealistisch. Das Problem wird sich aber auch in kurzer Zeit lösen.

Wenn das Spiel fertig ist, werde ich wohl noch etwas mit OpenGL rumspielen und mal schauen, was ich dann mit meinen Kenntnissen so anfangen kann.


Betreff: 3D-Mau-Mau
Geschrieben von J!0X, 13.04.2007 - 13:30 Keine Kommentare

Editierung: Ich habe Wordpress auf diesem Server eingerichtet, um eine Art Development-Weblog zu beginnen: 3d2m-weblog

Ich habe mir vor einiger Zeit überlegt, mein 2D-Mau-Mau-Spiel einfach dreidimensional mit Tisch, Stuhl und Kartenstapel etc. zu programmieren. Als Grundlage verwende ich OpenGL. Als nächstes habe ich mir überlegt, wie ich die Daten verwalte und verschiedene Objekte zeichne(rendere). Dann bin ich auf das erste Problem gestoßen: Text. Mit OpenGL ist es nicht möglich, einen einfachen Text anzeigen zu lassen.
Zum Glück gibt es für SDL eine Library namens SDL_ttf, die Schriftarten laden und auf verschiedene Weisen rendern kann. Die einfachste Möglichkeit ist, in jeder Frame den Text neu zu rendern, eine Textur zu generieren und diese auf ein Quad(Rechteck) zu bringen. Leider dauert es aber relativ lange, bis ein Text vollständig gerendert ist.
Hier ein Bild: Bild
Die Lösung ist, während des Ladevorgangs alle Buchstaben zu rendern und diese als Texturen zu speichern. Wenn ein Text angezeigt werden soll, zeichnet man für jeden Buchstaben ein Rechteck, das mit der jeweiligen Textur überzogen ist. Die Rechtecke müssen dann n * Breite + i verschoben werden, wobei n der Index des Buchstabens ist (z.B. der 3. Buchstabe), Breite die Breite eines Buchstabens und i der Abstand zwischen den Buchstaben. Natürlich muss man auch Neuzeilen (n) berücksichtigen.

Das nächste Problem ist die Bewegung von z.B. Karten oder der (imaginären) Kamera. Wenn man in jeder Frame ein Objekt um den Wert k verschiebt, bekommt man auf jedem Computer ein unterschiedliches Ergebnis. Das liegt daran, dass jeder Computer unterschiedlich schnelle Hardware hat. Wenn ich auf meinem Computer (AMD 3500+, X850XT)z.B. 30 Frames pro Sekunde bekomme und k = 2 Units ist, ist die Karte nach einer Sekunde (30 Frames) um
k * fps = 60 Units
verschoben. Bei einem anderen Computer, der z.B. nur 10 fps hat, wäre das Objekt um 20 Units verschoben. Es entsteht eine Abweichung von 40 Units.
Man muss sich also mit der Framerate und der Geschwindigkeit eine kleine Gleichung bauen:
frametime = Milisekunden, die für die letzte Frame benötigt wurden
s = Geschwindigkeit
Objekt.x = Objekt.x + s * (frametime / 1000)
s ist also die Anzahl der Units, die das Objekt in einer Sekunde (1000 Milisekunden) zurücklegt.

Diese beiden sind natürlich nicht die einzigen Probleme :D.


Betreff: Mills Mess geschafft
Geschrieben von J!0X, 01.04.2007 - 23:01 Keine Kommentare

Yeah, ich habe gerade den Mills-Mess-Pattern geschafft. Die Arme werden gekreuzt und werfen drei Bälle abwechselnd in die gleiche Richtung:


(Quelle: http://de.wikipedia.org/wiki/Mills_Mess)
Der Trick ist am Anfang echt schwierig, wird aber nach ein wenig Routine einfacher.


Betreff: Der Chat und seine Auswirkungen
Geschrieben von J!0X, 30.03.2007 - 14:17 5 Kommentare

Seitdem Instant Messenger immer beliebter werden, macht die Rechtschreibung eine große Veränderung durch. Fehler, die vorher keine machte, sind heute sehr verbreitet und meistens nicht bewusst. Grundsätzlich sind mir folgende Phänomene aufgefallen:

1.Es gibt keine einzelnen Punkte mehr...alle Trennungen werden neuerdings mit „...“ ausgedrückt...eine andere Variante ist das Setzen von Kommas zur Abtrennung...
Außerdem verwenden manche Leute statt eines Punkts einfach eine neue Zeile.
2.Große Buchstaben werden nicht mehr für den ursprünglichen Zweck verwendet. Es Werden verben groß geschrieben und nomen Klein. Die Großschreibung des ersten Buchstabens wird schon lange nicht mehr beachtet. Es macht vielleicht einen „uncoolen“ Eindruck. Ich weiß es nicht.
3.Das „ß“ wird durch ein „ss“ ersetzt. Und zwar überall. Man wird gefragt, wie man heisst (falls man das weiss) und bekommt noch einen schönen Gruss.
4.Gesprochene ausdrücke wie „Ich gehe „einnnn“ Kasten Wasser holen“ werden im Chat nur „Ich gehe ein Kasten Wasser holen“ geschrieben. Die Verwechselung der Kasus hat heutzutage also ein(en) neuen Grund. Der Genitiv wird zum Dativ und leider auch der Akkusativ zum Nominativ.
5.Wörter werden zusammengedrängt („garnicht“) oder auseinander geschrieben („Grafik Karten Treiber“), wenn mit ihnen eigentlich genau das Gegenteil gemacht werden soll. Der Ursprung liegt wahrscheinlich in der englischen Sprache, die besonders im Internet einen sehr großen Anteil hat.
6.Es werden Ausdrücke wie „alles klar“ missverstanden:
> yo alta ich hab mein computer aufgeräumt
< alles klar
> ya echt man alta glaubstes nich oda was hä?
> ich glaubs dir schon....... hab ich dir doch gerade gesagt
...
Das Problem ist, dass man im Chat keine Betonungen darstellen kann. Dieser Punkt gilt meistens nur für „hardcore-ganxta“.
7.Aus "lol" wird "looooool" und damit zu "Laughing out out out out loud."
8.An jedem Satzende steht ein "xD" oder "^^". Dieses Phänomen ist sehr verbreitet.
8. Multiple Satzzeichen sind heutzutage (besonders bei weiblichen) Usern sehr beliebt!!!!! Aber warum eigentlich??????? Die Frage wird doch auch beantwortet, wenn nur ein "?" angehängt wird !!!!

Ich könnte noch mehr Veränderungen aufzählen.
Insgesamt ist es mir zwar egal, wie man im Chat schreibt, jedoch sollte man darauf achten, dass man die Fehler nicht in andere Gebiete übernimmt (Schule etc.).

Ich werde demnächst möglicherweise ein neues Design erstellen und gleichzeitig auch den Code verbessern. Ich habe bereits einen RSS-Generator geschrieben und einen AJAX-Chat fertiggestellt. Nur das Design, das ich zum testen verwendete, entspricht nicht meinen Vorstellungen.


[1-10][11-20][21-30][40][49]

Apache Server at www.davlozone.de Port 80