3D Modul - Ideen/Vorschläge

Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter

Neue Antwort erstellen

Vertex

BeitragMi, März 30, 2005 9:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Meine Mathlib ist nicht kompatibel mit der OpenGL-Matrix, da bei OpenGL aus Performence-Gründen die Spalten- mit den Zeilenvektoren vertauscht sind. Habe aber jetzt gelesen, das man eh glScalef, glRotatef usw. verwenden soll, da dies schneller sei, als eigene Matrizen zu laden(ich hoffe das ganze ist durch Hardware-Transforming beschleunigt)

Ich mache mir Sorgen um FPS-Raten. Blitz3D ist beim Verwalten großen Surfaces schneller als meine Engine. Wenn das nciht durch ein neues Surfacesystem auf Basis von VBOs wett gemacht werden kann, wird die Engine in C++ weiter entwickelt.

Weiter werde ich Surfaces nach ihren Materialien sortieren lassen. Das wechseln von States kostet zu viel Performence.

Die Primitiv-Berechnungen (außer CreateCube Wink )sind noch falsch. Es fehlt immer jeweils eine Vertex-Reihe die ich mit U=1.0 belegen kann, so das die Textur das Primitiv komplett ummanteln kann.

Hier noch einen Torus:
user posted image

mfg olli
vertex.dreamfall.at | GitHub

Jan_

Ehemaliger Admin

BeitragMi, März 30, 2005 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
glingt aber nciht gerade optimistisch.
between angels and insects

Vertex

BeitragMi, März 30, 2005 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe jetzt VBO-Support drin. Zum Test hatte ich 36 Cones mit 360 Segmenten gleichzeitg angezeigt und gedreht. Blitz3D: ~245 FPS / DreiDe: ~360 FPS.

Das freut mich Smile

mfg olli

Edit: Der Torus da oben hat jetzt die 3 fache FPS-Rate Smile

Plasma(alt)

Betreff: igitt

BeitragMi, März 30, 2005 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
was für ein Torus ?? Eklig




Respekt Vertex und VBO bringts also
DIV is dead !

Vertex

BeitragMi, März 30, 2005 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, Danke Smile

http://vertex.art-fx.org/DreiDe.zip <- neue Version, viele bugfixes, code aufgeräumt und EndGraphics macht nun auch mal was Smile

Ansonsten gibt es noch erhebliche Fehler im 16 Bit Modus. Muss ich noch die Ursache finden.

mfg olli

Jan_

Ehemaliger Admin

BeitragDo, März 31, 2005 7:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hiho, sehr schön.

bei mir, 17-18 FPS.

Ich sehe blos den "bglDrawText ..."
nicht, kann aber auch an der Uralten Matrox hier liegen.
Ansonsten, hoffe ich, das wir nach den "Osterferien" (hach waren das noch Zeiten...)
Eine schöne engine von dir haben.
Die Ansätzte gefallen mir sehr gut.
between angels and insects

bruZard

BeitragDo, März 31, 2005 7:36
Antworten mit Zitat
Benutzer-Profile anzeigen
über 400 FPS ... ausgezeichnet Smile

PIV 2,4GHz -- 512MB DDR266 -- Radeon9600 -- WinXP
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Jan_

Ehemaliger Admin

BeitragDo, März 31, 2005 8:11
Antworten mit Zitat
Benutzer-Profile anzeigen
So, ich war jetzt mal unter der Lieben Suse 9.2

So, funktionierte, fast auf anhieb.
Ich merkte, das die Treiber noch schlechter sind, als die für Windows.
Aber dafür, sehe ich dort die FPS(6-7FPS)

fast auf anhieb, weil die Dateinamen nicht ganz so einfach unter dem Unix betriebssystem sind.
Also, Groß und Kleinschreibung muss angepasst werden.
BlitzBasic: [AUSKLAPPEN]

Include \"math.bmx\"
Include \"entity.bmx\"
Include \"camera.bmx\"
Include \"texture.bmx\"
Include \"material.bmx\"
Include \"surface.bmx\"
Include \"mesh.bmx\"

-->
BlitzBasic: [AUSKLAPPEN]

Include \"Math.bmx\"
Include \"Entity.bmx\"
Include \"Camera.bmx\"
Include \"Texture.bmx\"
Include \"Material.bmx\"
Include \"Surface.bmx\"
Include \"Mesh.bmx\"
between angels and insects
 

IonPainter

BeitragDo, März 31, 2005 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
1800 fps! Wink

Athlon XP 2200+, 512MB DDR, Radeon 9700 NonPro
 

Dreamora

BeitragFr, Apr 01, 2005 8:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Änderungsvorschläge / Bugs:

Surface.bmx

GetHeight, GetDepth, GetWidth stimmen nicht.
Sie geben den Maximalwert aus, nicht die Grösse der Boundingbox -> Maximaldistanz in die entsprechende Achsenrichtung


DreiDe.bmx

Nur eine Empfehlung, aber ich würde die notwendigen Imports ins Modul hinzuzufügen, damit die für DreiDe zwingend notwendigen Abhängigkeiten direkt gesetzt sind, da nicht alle den kompletten Framework nutzen.
Spart auch Nutzern der DreiDe Zeit, diese Abhängigkeiten zusammenzuzusuchen im gesammten Source, zudem ist es bei der Implementierung des Sources auch einfacher, diese Abhängigkeiten zu durchschauen.




Davon abgesehen ne sehr gute Arbeit, auch von der Strukturierung her. Kann ich bloss gratulieren Smile
Läuft bei mir übrigens mit 1400 FPS auf P-M Benias 1,5Ghz, Mobility Radeon 9700 64MB

Vielleicht darf ich ja dann später mithelfen, wenn ich mit meinem aktuellen Projekt durch bin (und BM bis dahin draussen ist, damits auch jemand sehen darf Wink)
Hätte Lust wiedermal so Dinge wie das SceneManagement zu proggen, um damit den Output bei vielen Objekten nochmal drastisch zu steigern. Werden es ja dann sehen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Vertex

BeitragFr, Apr 01, 2005 14:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Beteiligung!

_Jan: Das mit den dateinamen ist geändert wurden. Freut mich, das es fast ohne Änderungen auf Linux gelaufen ist.

Dreamora: Ja danke, daran hatte ich garnciht gedacht. Ich versuche es über Imports zu machen, weiß aber nicht genau, ob ich dann die Types von TDDDEntity erben lassen kann. Würde mich freuen, wenn du mit machen würdest.

Ansonsten habe ich mal testweise den Material- und Texture-Type fertig gemacht und es läuft schon mit Texturen.

Der 16 Bit Bug lag schlicht und ergreifend an BGL_ALPHABUFFER bei bglCreateContext. Habe ich jetzt nach 2 Stunden tüfteln heraus bekommen Sad

Ich werde demnächst mal einen einfachen Importer schreiben. Beim Milkshape-Format kenne ich mich denke ich am besten aus. Mir graut es aber schon vor dem Bone-System. Da kann ich aber mal meine Math-Lib zum Einsatz kommen lassen. Es ist so geplant, das der User auch selber Bones meshs zuweisen kann.

mfg olli

Edit: user posted image
  • Zuletzt bearbeitet von Vertex am Fr, Apr 01, 2005 15:16, insgesamt einmal bearbeitet
 

Dreamora

BeitragFr, Apr 01, 2005 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich sollte das mit den Imports kein Problem sein.

Ein sicherer import ist ja

import pub.glew Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

darkshadow

BeitragFr, Apr 01, 2005 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würds gerne mal testen, aber irgendwie kommt BMax mit meinen 64Bit Linux nicht klar... Crying or Very sad

Vertex

BeitragFr, Apr 01, 2005 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, wer braucht schon Linux ? Smile

http://vertex.art-fx.org/DreiDe.zip <- neue Version mit TDDDMaterial und TDDDTexture. Naja ist nicht ganz fertig, aber damit ihr mal eine neue Version vor die Füße geworfen bekommt.

Dreamora: Imports sind amscheinend hier fürn Arsch. Kannst ja selber mal versuchen dasmit Imports zu lösen, aber ich bekomme es einfach nicht hin.

mfg olli
 

darkshadow

BeitragFr, Apr 01, 2005 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Läuft gut! Habs mal auf meinem Windowssystem getestet (hab extra Platte umgesteckt *g)
3350+ FPS bei AA und AF aus
850+ FPS bei AA 4xS und AF 8x

Win2k, AMD64 3000+, GF4 TI, 512MB RAM

stfighter01

BeitragSa, Apr 02, 2005 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
structur gefällt mir sehr gut, wenn du willst werd ich dir die createcone und createsphere funktionen schreiben.
würd mich freuen wenn ich auch was dazu beitragen könnte Smile

mfg stfighter

[edit]
mir ist aufgefallen bei den getvertexx , getvertexy ... funktionen ist ein fehler drin
du verwendest Self.iVertexCount , sollte aber shIndex sein
[/edit]

[edit]
noch ein edit Smile
aber ich hab jetzt frecherweise die funktionen einfach geschrieben Smile

http://home.arcor.de/ddfsdf.df...tionen.bmx

einfach in die entsprechende type einfügen
viel spass damit
Denken hilft!

eizdealer

BeitragSa, Apr 02, 2005 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ein kleiner Hinweis von meiner Seite: Die Kamera Transformationen (um genau zu sein die Rotationen) wirst du so nicht hinbekommen. Google mal nach "Gimbal Lock", das ist das Problem, das daraus resultiert, wenn du mehrere Rotationen hintereinander anwenden willst. Die Lösung sind Quaternionen. Wenn du willst kann ich dir mal meine Camera Klasse schicken, da hab ich das soweit schon eingebaut.
Das Projekt gefällt mir!

Vertex

BeitragSa, Apr 02, 2005 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
http://vertex.art-fx.org/DreiDe.zip <- neue Version mit gefixten Surface-System und Milkshapeloader.

LoadMS3D("test.ms3d")
Features:
- Groups
- Materials
- Diffuse-, Specular-, Ambient- und Emisission-Color
- Shininess
- Texturing

Es fehlt:
- Animation(kommt erst, wenn Bonesystem steht)
- Alphamap
- Sphericalmapping
- Alpha

2 Beispiele liegen bei.

stfighter01: Schaue ich mir gleich mal an. Freut mich, das du dich beteiliegn willst! Surfacesystem ist wie gesagt jetzt weitestegehend gefixed(k. A. ob noch Bugs drin sind Smile)

eizdealer: hmmm, hatte schon soetwas geahnt. Dachte, ich kann das einfach durch orthonormalisieren der Modelview-Matrix beheben, aber über Quadd machen das anscheinen alle. Wäre nett, wenn du mir mal deine Klasse geben könntest.

Ansonsten: Statechanges nehmen doch nciht soviel Performence weg, wie immer gesagt wird. Bei 1000 Cube war das gerade mal ca. 5 FPS mehr zu lasten der Felibilität.

Es wird bald noch PushMax2D und PopMax2D geben, damit man auch 2D Befehle aus Max2D nutzen kann.

mfg olli

stfighter01

BeitragSa, Apr 02, 2005 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
sehr gross wird meine beteiligung leider nicht sein, da mir ziemlich die zeit fehlt Crying or Very sad
dennoch, meine functions wollt ich noch in ordnung bringen.

link oben ist upgedatet.
der cone unterstützt jetzt mehr surfaces und vertices, damit wird auch das lighting correct dargestellt.


mfg stfighter
Denken hilft!

Vertex

BeitragSo, Apr 03, 2005 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist der 03.04.05 und es ist 22:44:33 und das ZIP-Archiv ist 111 KB groß. Ein gutes Ohmen?

http://vertex.art-fx.org/DreiDe.zip <- neue Version. Unterstützt nun Spheremapping das über MyTexture.AddEffect DDD_TEXTURE_SPHEREMAP zu setzen ist, sowie Alphablending von Materialen das über MyMaterial.SetAlpha bewerkställigt werden kann. Depthsorting ist noch nicht dabei, dafür unterstützt der MS3D Loader zumindest bis auf Alphamaps nun alles. Werde ihn bald auf TBank umstellen, da TList sau lahm in der Beziehung ist.

Bei MyMaterial.SetBlending brauche ich noch die 2 Blend-Faktoren für Multiplyblend. DDD_MATERIAL_ADDBLEND DDD_MATERIAL_NOBLEND und DDD_MATERIAL_ALPHABLEND werden schon unterstützt. Bug bei Tetxurformat wurde auch behoben.

Alphablending für Materials funktioniert nur mit eingeschalteten Lighting, andernfalls muss es über MyMesh.SetColor 1.0, 1.0, 1.0, fAlpha bewerkställigt werden.

mfg olli

Edit: Bevor ich noch stfighter01 vergesse: UpdateNormals funktioniert nicht korrekt. Es erechnet die Triangle-Normale und weist diese dann allen 3 Vertices zu. Problem ist, mehrere Triangles können den selben vertex benutzen. Es muss der Durchschnitt alle Normalen erechnet werden und dann den Vertex zugewiesen werden. Ansonsten nochmal danke!

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6  Weiter

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group