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

SpectatorBetreff: 3D-Engine mit BB2D - unmöglich?? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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... ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist möglich, aber klopf sie in die tonne!
Nehme nie B2D für 3D ... |
||
between angels and insects |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Joa, darum ist ID damals ja von "2D befehlen" weggegangen | ||
between angels and insects |
Spectator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, kann man diesen Patch irgendwo herbekommen? | ||
between angels and insects |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
klar, gib in einer suchmaschine "GLQuake" ein. ich weiß jetzt leider nicht die genaue adresse, müsste es aber überall geben. | ||
Spectator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
quake war in C programmiert, aber mit asm-optimierungen. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
LOL?
du erwartest schnelle ergebnisse mit _LINE_? OMFG! |
||
Spectator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
auch das wurde von mir bereits beantwortet... ![]() |
||
Spectator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, ich werde es mal versuchen.
eine frage bezüglich for-schleifen: stimmt das gerücht, dass sie in BB schneckenlahm sind? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group