[Projekt]Grafik-Engine

DITOOOOOOOOOOOOOOOOOOOOOOOO !! :D

wobei an den Weihnachtsfeiertagen muss man ja nicht unbedingt arbeiten ^^
 
Hey!

Ich hatte jetzt über Weihnachten leider fast gar keine Zeit um was zu machen!
Ich schreibe mir zurzeit einen eigenen Context für OpenGL. Bisher habe ich dafür freeglut genommen! Nimmt einen zwar zu begin viel Arbeit ab aber letztendlich ist es nicht so das wahre! Daher der eigene Context, wodurch ich auch variabler an sich bin!
Aber ich werde mich trotzdem noch um eine neue Alpha kümmern^^
 
Habe heute mal an der Textausgabe sowie Buttons etc. für ein HUD gecodet und bisher folgendem Erfolg:
HUD.jpg
Man beachte den Text oben links sowie den Button unten in der Mitte.
Der Button sieht zwar ziemlich billig aus aber es ist mehr mit dem System möglich! Aktuell ist es nur ein Rotes Viereck mit Text aber man könnte auch einen schönen Button mit Texture + Alphachannel machen.
...
Okay das hab ich hier mal spontan gemacht als Beispiel:
HUD2.jpg
Das ist jetzt keine Superqualität, da ich es einfach nur schnell in gimp zusammengeklatscht habe aber man sieht was möglich ist :)
 
Hallo!

Erstmal noch frohes neues an alle :)

Habe zuletzt mal den Renderpart etwas optimiert, wobei Objekte die sich weiter als Wunschwert X entfernen eine Texture mit niedrigerer Auflösung haben.
So wie in diesem Beispiel:
Texture.jpg
Dieses Beispiel ist jetzt natürlich etwas übertrieben dargestellt, aber man soll ja den Unterschied bei den Palmen auch gut erkennen! Im Normalfall wird die Texture nach 250 Meter (hier 100 Meter) Abstand um den Faktor 4 veringert. Fällt allerdings nicht wirklich auf ;) Aus Performancegründen natürlich eine sinnvolle Sache :) Macht sich vorallem bei Objekten mit großen Texturen wie 1024x1024 bezahlt.
 
Dann weiß ich was ich als erstes ausschalte ;) :P
Nein ein LOD ist ja sehr sinnvoll aber je nachdem wie gut doch sehr störend
 
@Crenshaw: Wie du schon sagst, sinnvoll ist es schon ^^ Ich versuche es aber schon so zu basteln, dass ein weicher Übergang ist der nicht wirklich auffällt ;)

@LordCama: Noch nicht wirklich. Ich hatte vor kurzem schonmal ein paar Tests zu einer Explosion gemacht. Zwar noch nicht das gelbe vom Ei gewesen aber hat geklappt!
Wollte das demnächst ohnehin in Angriff nehmen. Wenn was gutes bei rauskommt folgen natürlich Bilder.
 
Update:

Ich habe heute ein paar Performancetests gemacht und bin zu interessanten Ergebnissen gekommen.
Manche OpenGL-Befehle machen simple Dinge aber verbrauchen daher unmengen an Leistung. So z.B. das sichern einer Matrix oder auch das zurückholen der Matrix vom Stack.
Habe mir dafür nun eigene Befehle geschrieben (in Assembler ;)), was einen dicken Performanceschub bringt.

Vorher habe ich 2 Millionen Polygone bei 35 Frames gerendert. Nun sind 4 Millionen bei 30 Frames drin bzw. die 2 Millionen rendern nun bei knapp 60fps.
Ich werde definitiv noch ein paar andere OpenGL Befehle gegen eigenen Code austauschen, da der Performancesprung schon ziemlich deutlich ist.
 
Ist doch immer wieder interessant, wie solche Funktionen so bescheiden implementiert werden ^^ Ich kenne solche Funktionen von DirectX her, da gibt es auch einige Dinge, um die man lieber nen Bogen macht. Die Assemblerklopperei hebe ich mir übrigens immer fürn Schluss auf, meistens kann ich das dann nämlich doch noch irgendwie vermeiden ;)
 
Wahre Worte :D
Aber ich finde Assembler eig. ganz interessant! Schnell und wenn man da etwas Übung hat auch garnicht so schwer :)
 
Ich muss das Projekt jetzt erstmal etwas vernachlässigen, da in einem Monat die Prüfungen in der Uni beginnen! Das geht einfach mal vor :)
Danach wird wieder mehr programmiert! Aber ganz auf Null fahre ich das programmieren trotzdem nicht zurück :schief:
 
@fac3l3ss: Aufgeben werde ich das Projekt sicher nicht! Dafür ist mir das Projekt auch persönlich schon zu wichtig :)

Hab nun auch gerade nochmal etwas gecodet und es werden nun auch exportierte Modelle vom ZModeler akzeptiert! Beispiel:
zmodeler.jpg

Arbeite nach wie vor mit dem *.obj Format allerdings spruckt der ZModeler die Daten etwas anders aus als 3ds Max! ;)
 
Zurück