3D-Engine mit BB2D - unmöglich??

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Spectator

Betreff: 3D-Engine mit BB2D - unmöglich??

BeitragMi, Aug 11, 2004 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
hi leute,

ich versuche zur zeit, eine 3D-Engine in Blitz2D zu schreiben. heute habe ich aber eine riesen enttäuschung erlebt, als ich zum ersten mal die
flat-shaded-polygon-routine getestet habe. sie ist langsamer als eine schnecke mit krückstock... Crying or Very sad
die funktion benötigt auf einem PII-600 satte 6 ms, um ein 200-pixel-polygon zu füllen (und das beim primitiven flat shading). ihr könnt euch ja vorstellen, wie erbärmlich langsam das ist.
ist es denn überhaupt möglich, sowas in BB2D zu programmieren, oder kann ich diese idee in die tonne kloppen?

Jan_

Ehemaliger Admin

BeitragMi, Aug 11, 2004 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist möglich, aber klopf sie in die tonne!

Nehme nie B2D für 3D ...
between angels and insects
 

Edlothiol

BeitragMi, Aug 11, 2004 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du in die Tonne kloppen.
1. Sind die BB - Pixel - Schreib - Befehle sowieso nicht sonderlich schnell, ein bisschen beschleunigen ließe sich das mit B+ und LockedPixels.
2. Wird das Zeichnen von Polygonen normalerweise auch von der Grafikkarte übernommen. Wenn man das auf der CPU machen würde, wäre das auch mit noch so viel Optimierung zu langsam.
Wenn du sehr gut bist, schaffst du vielleicht einen verhältnismäßig schnellen Raycaster in BB2D (das gabs schon mal igendwo auf BlitzCoder).
 

OJay

BeitragMi, Aug 11, 2004 15:14
Antworten mit Zitat
Benutzer-Profile anzeigen
sicher ist das möglich, und das wurde auch schon umgesetzt... www.blitzcoder.com wenn die seite wieder da ist, da mal suchen.

auch raycaster (doom1+2) wurden schon in blitz2d umgesetzt!


/e: wenn du blitz3d hast, kannst du die pixelbefehle hier aus unserem dll/userlibarchiv mit der userlib "rtlmovememory" beschleunigen: https://www.blitzforum.de/viewtopic.php?t=4364
 

Spectator

BeitragMi, Aug 11, 2004 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hatte vor, eine art Quake-Engine zu schreiben, und der gag bei der sache sollte eben sein, dass sie nur die standard 2D-befehle nutzt.
aber ich sehe schon, dass dies ein sinnloses unterfangen ist.

Jan_

Ehemaliger Admin

BeitragMi, Aug 11, 2004 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Joa, darum ist ID damals ja von "2D befehlen" weggegangen
between angels and insects
 

Spectator

BeitragMi, Aug 11, 2004 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Das original-Quake lief damals unter dos und ohne jegliche 3D-beschleunigung. erst später kam ein patch für open-gl.

Jan_

Ehemaliger Admin

BeitragMi, Aug 11, 2004 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, kann man diesen Patch irgendwo herbekommen?
between angels and insects
 

Dreamora

BeitragMi, Aug 11, 2004 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Und es war rein in ASM programmiert wie alle 3D Engines vor dem 3DFX Zeitalter, das kannst du nicht im Traum mit BB oder WindowsSpeed vergleichen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Spectator

BeitragMi, Aug 11, 2004 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
klar, gib in einer suchmaschine "GLQuake" ein. ich weiß jetzt leider nicht die genaue adresse, müsste es aber überall geben.
 

Spectator

BeitragMi, Aug 11, 2004 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
quake war in C programmiert, aber mit asm-optimierungen.
 

Dreamora

BeitragMi, Aug 11, 2004 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Jepp
Gibt insgesamt also 2 Sprachen die schneller sind als der veraltete Blitz2D Compiler. Ich vermute ma mit Blitz3D würds schneller laufen, ebenso mit Blitz+.

Übrigens: Ich vermute du arbeitest nicht mit WritePixel und LockPixel oder?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Spectator

BeitragMi, Aug 11, 2004 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe die scanlines mit line gezeichnet, weil ich erste ergebnisse sehen wollte. später hatte ich vor, das ganze für writepixelfast und lockbuffer umzuschreiben, aber da die routine *so* langsam läuft, und mit lockbuffer und so keine signifikante besserung in sicht ist, werde ich aufgeben.
 

OJay

BeitragMi, Aug 11, 2004 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
LOL?

du erwartest schnelle ergebnisse mit _LINE_? OMFG!
 

Spectator

BeitragMi, Aug 11, 2004 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
mit lockbuffer geht es auch nicht viel schneller, wegen der vielen schleifendurchläufe (nehme ich zumindest stark an).

es war auch nur provisorisch, weil ich sehen wollte, ob die randkoordinaten korrekt berechnet werden.
 

OJay

BeitragMi, Aug 11, 2004 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
schaue dir read/writepixelfast an mein jung, und um das ganze noch weiter zu beschleunigen, oben genannte userlib...

line ist so ziemlich das langsamste, was es gibt in BB!
 

Spectator

BeitragMi, Aug 11, 2004 16:13
Antworten mit Zitat
Benutzer-Profile anzeigen
es interessiert mich eigentlich nur, ob eine Quake/Descent-artige 3d-engine mit texturmapping + gouraud shading + alpha blending in B2D
so realisiert werden kann, dass sie auf einem mittelprächtigen rechner vernünftige frameraten zustande bringt.
 

OJay

BeitragMi, Aug 11, 2004 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
auch das wurde von mir bereits beantwortet... Neutral
 

Spectator

BeitragMi, Aug 11, 2004 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, ich werde es mal versuchen.
eine frage bezüglich for-schleifen: stimmt das gerücht, dass sie in BB schneckenlahm sind?
 

Dreamora

BeitragMi, Aug 11, 2004 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein sind sie nicht.
Das gerücht stimmt nur für Dark Basic wo alle schleifen schneckenlahm sind.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group