Source code για realtime 3D graphics σε Z80 assembly

  • Έναρξη μίζας Έναρξη μίζας jay
  • Ημερομηνία έναρξης Ημερομηνία έναρξης
ΟΚ,ΟΚ ειρηνη υμιν...!! :D

(παρερμηνευεσαι παντως jay εδω που τα λεμε,λογω του στυλ γραφης σου....)
 
Γυρισα το χρόνο λίγο πίσω ... :P

@Jay

No hard feelings ;)
 
ChrisTOS i am sure you have spend a lot of gaming time with the z80 cpu

(Εκτος αν δεν εχεις αγγιξει gameboy , sega master system , και δεν εχεις

παει ποτε σου σε 'ηλεκτρονικα' / arcade - εκει δεν ηταν πιο πολλες φορες

main cpu αλλα παλι τον χρησιμοποιουσες)

"Στείλε pm στον Optimus και στον εγκέφαλο μας."

Who the heck is optimus and what does he know about it ?

Shock νομιζω οτι με εχεις βαλει στο ματι , ειναι ιδεα μου ?

by the way i do not like your avatar (για να με βαλεις σιγουρα στο ματι!)

"ιντα πραμα λεει το κοπελι;" Πιστευω οτι το robocop 1 ειναι η καλυτερη

ταινια απο την τριλογια, το νουμερο 3 ηταν απλα απαραδεκτο.

"karalol" Εμαθα οτι το lol σημαινει laugh outloud απο εναν τυπο οταν

επαιζα bf1942.τι μπορεις να μαθεις οταν παιζεις online games τις μερες μας...

"Δηλαδή εάν ήθελες το ίδιο για Commodore 64, τί θα πούλαγες"

Το κορμι μου

καλα τι πατατα αυτος ο commodore 64 απορω πως μου περασε απο το μυαλο

να γραψω κατι γ'αυτον.Κριμα γιατι εινα commodore (ειχα καποτε μια a500+)

καλα εκανε και καταργηθηκε,ουτε για ανακυκλωσιμα υλικα δεν κανει.

"Jay για ριξε μια ματια εδω και εδω" Wally σε παω.

δυστηχως δεν ειναι για 3d grafics (ειναι για sprite priority και flood fill)

Thanx. Ψαχνω για αυτο το θεμα καιρο και ακομα δεν εχω βρει τιποτα.

Ειχα δει ενα ελληνικο demo που ειχε 3d.Που ειναι οι greek zx coders να βοηθησουν

ενεν νεο με... βλεψεις?

By the way does anyone like my avatar ? its real , i am on top of the scores

as always ,το robocop το τερματιζα με κλειστα ματια και χαιρομαι που μπορω

να το παιξω στο pc.

Cheers

Μια χαρα ποστ ηταν (απο τα καλυτερα μου)
 
Τελευταία επεξεργασία:
Ναι αλλα τα realtime 3d graphics που τα ειδες βρε Jay ?

edit

Μια στιγμη .. επανεφερες post που εχει διαγραφει ?
 
Who the heck is optimus and what does he know about it ? Shock νομιζω οτι με εχεις βαλει στο ματι , ειναι ιδεα μου ?
O optimus και ο fgbrain (εγκέφαλος) είναι δύο μέλη του GRM που μπορεί να σε βοηθήσουν στις απορίες σου. Αν δεν μπορούν αυτοί δεν ξέρω ποιος άλλος μπορεί εδώ μέσα.

Τώρα πως εσύ κατάλαβες ότι σε έχω βάλει στο μάτι δεν έχω καταλάβει.
 
Πλάκα μας κάνεις, έτσι;
 
"Ναι αλλα τα realtime 3d graphics που τα ειδες βρε Jay ?"

στον zx (????????????????)

"Μια στιγμη .. επανεφερες post που εχει διαγραφει ?"

οχι απλα επανελαβα αυτα που ειχα γραψει πριν.(λιγο τριμαρισμενα)

δεν βρισκω τιποτα κακο σε αυτα που επανεφερα.

περιμενα να το διαβασει και ο shock.

against the rules again? damn!

"O optimus και ο fgbrain (εγκέφαλος) είναι δύο μέλη του GRM

που μπορεί να σε βοηθήσουν στις απορίες σου"

ξερουν για z80,3d vector gfx ? η θα με στηλουν απο κει που'ρθα?

τελος παντων θα τους στηλω pm.Thanx, μαλλον ιδεα μου ηταν

"Πλάκα μας κάνεις, έτσι;" ???????????????????????????
 
jay μας δουλεύεις; realtime 3d στον spectrum; Eδω με το ζόρι κινούσε τα 2d μονόχρομα sprites εσυ θέλεις και 3d; Για όνομα του θεού δηλαδή..
 
Δεν εχουν σχεση τα Vector graphics (τουλαχιστον οπως παρουσιαστηκαν σε 8bit συστηματα) με τα Realtime 3d graphics. Αν ηθελες να ασχοληθεις με vectors θα μπορουσες να ησουν πιο συγκεκριμενος στο αρχικο σου post και θα σου ειχαμε προτεινει πιο συγκεκριμενα links.
 
το Realtime 3d graphics ειναι γενικο και πιο αναγνωρισιμο απο το 3d vectror grafics.

Μαλλον δεν θα βρω τιποτα, απλα εκανα το thread ΜΗΠΩΣ ΚΑΙ...

Λεω ΜΗΠΩΣ ΚΑΙ...

αλλα μπαααααααααα

Ακομα το "Πλάκα μας κάνεις, έτσι;" μου βαραει στον εγκεφαλο..
 
ωραια τωρα ξερω πως να εκνευρισω εναν mod :) :) :) :) :) :) :) :)

λες και το εχει γραψει ο τελαμονας για μενα!
 
Τελευταία επεξεργασία:
Ο σκοπος μας ομως εδω (στο forum) δεν ειναι αυτος.

Και σου μιλαω ειλικρινα - και δεν εχω εκνευριστει καθολου - αν η συμπεριφορα σου ξεφυγει ξανα απο τα ορια του αποδεκτου, θα συνεχισουμε χωρις εσενα.
 
Λοιπον διαβαστε προσεχτικα κ.'telamonas.stokos' KAI κ.'keeper7k'.Θελετε να με διωξετε ε ?Γιατι νομιζετε οτι θα με μειωσετε ετσι ?ΓΕΛΑΣΤΗΚΑΤΕ.Δεν χρειαζεται φευγω και μονος μου,δεν εχω καμμια αναγκη το GRM η οποιοδηποτε GRM στην ζωη μου.

ΔΕΝ μπηκα στο φορουμ με την προθεση να προσβαλω ΑΠΟΛΥΤΩΣ ΚΑΝΕΝΑΝ KAI ΟΥΤΕ ΠΡΟΣΕΒΑΛΑ ΚΑΝΕΝΑΝ κατα την γνωμη μου, ολα αυτα τα εβγαλε το μυαλο σας.ΕΑΝ καποιος αισθανθηκε προσβεβλημενος απο κατι που εγραψα του ζητω ΣΥΓΝΩΜΗ.

ΛΥΠΑΜΑΙ ΠΡΑΓΜΑΤΙΚΑ ΓΙΑ ΤΗΝ ΚΑΧΥΠΟΨΙΑ ΣΑΣ.ΕΑΝ δεν καταλαβαινετε το χιουμορ και παρερμηνευετε το τι γραφουν τα μελη αυτου του του φορουμ,τοτε δεν ειστε σωστοι στη δουλεια που σας εχει αναθεσει ο διαχειριστης αυτου του φορουμ.

Χαιρετω ολους τους υπολοιπους , γεια σας.

Σας Π Ρ Ο Κ Α Λ Ω να μην σβησετε αυτο τo τελευταιο μου ποστ στο Greek Retro Maniax.Σβηστε ολα τα αλλα μου ποστς.

Γιαννης Φωτου
 
Φιλε jay,το τελευταιο σου -οπως εσυ εγραψες- post στο GRM,το εσβησα εγω προσωπικα,καθοτι τετοιου τυπου καταστασεις δε βοηθουν σε τιποτα....

Αν αποδιδεις την αποχωρηση σου στον οποιοδηποτε super moderator/moderator,μπορεις με p.m να εξηγησεις τους λογους και να αποχωρησεις σιωπηρα,χωρις τυμπανοκρουσιες κι αιχμες...

Ο λιγοστος -επειδη εσυ ετσι αποφασισες- χρονος φιλοξενιας που ελαβες εδω,νομιζω αξιζει αυτην την ωριμη αντιμετωπιση απο μεριας σου...

Σε χαιρετω,ελπιζοντας παραλληλα να ξανασκεφτεις ολα οσα συνεβησαν και να επιστρεψεις -με το ιδιο nickname- ωριμοτερος και πιο συγκαταβατικος...
 
@Jay since you'll read this: Do not presume my gaming habits. I've spent some time playing arcades but the z80 there is nothing more than a sound coprocessor. OTOH I've spent quite a bit of time playing and coding 6502, 68K and 68030 and I can safely say that even filled vectors are too much for the poor z80. So I say it again: Precalc, precalc, precalc :P
 
3D engine σε z80; Είναι εφικτό. Στον Amstrad ελάχιστες προσπάθειες έχουν γίνει στα demos (και σε μερικά παιχνίδια με πάναργα flat πολύγωνα). Περίμενε να γράψω εγώ μια το 2011 :P

Σε spectrum θα υπάρχουν περισσότερες (μια και πάρα πολλά demos πετούσαν 3d objects με gouraud shading ή environment mapping αλλά ανάλυση που δεν έβλεπες τι ήταν αυτό που έβλεπες). Απλά πράγματα όπως ένα flat object με 5-10 πολύγωνα μπορείς να κάνεις αν έχεις πρώτα και μερικές υπορουτίνες για γρήγορο πολλαπλασιασμό/διαίρεση σε Z80 (http://www.cpcwiki.com/index.php/Programming) συν προηγούμενη εμπειρία στα βασικά των 3d graphics (3d rotation/projection σημείων, οργάνωση του object σε πολύγωνα και μια γρήγορη assembly ρουτίνα για απλό triangle rasterization σε κάποιο video mode του CPC) αλλά:

1) Θέλει πολλά @@ για να ασχοληθείς με κάτι τέτοιο σε 8bit (εδώ εγώ το σκέφτομαι να ξεκινήσω μια engine αλλά προτιμώ να κάνω oldschool 2d effects (Το demo μου X-kore απλώς είχε μια γρήγορη ρουτίνα για 2d scaling bitmap lines στο X και απλώς το συνδίασα για να κάνω fake 3d texture :) - (Επίσης τα Focus Mag των Chaos είχε 3d vector balls όπου φαντάζομαι ήταν προυπολογισμένες οι θέσεις και απλά το περιέστρεφες με τα κουμπιά γύρω από τις ίδιες θέσεις. Απλό αλλά effective!). Τι γνωρίζεις από Z80 assembly, προγραμματισμό γενικότερα και 3d graphics? Αν δεν γνωρίζεις θέλει πολύ για να φτάσεις εκεί. Αν γνωρίζεις καλή επιτυχία και ρώτα μου ότι θες.

2) Δεν έχω βρει ποτέ 3d source code σε 8bit machines παρόλο που έχω δει πολλά demo με 3d (μερικές από τις 3d scenes παίζει να ήταν και animations, άλλες στόχευαν για ταχύτητα και ήταν σαν μικρά animations σε demo, δεν είχε interactivity. Αλλά έχω δει και εντυπωσιακά examples πολύ καλών 3d engines (από flat/gouraud objects pixel resolution μέχρι 3d world και wolfenstien 3d) όπου επιτρέπουν χειρισμό έτσι για να αποδείξουν πως είναι realtime. Κανένας όμως δεν έχω ακούσει να έχει βγάλει source code. Και σε αυτήν την περίπτωση εγώ θα έβγαζα λίγα λίγα κομμάτια βασικά ξεχωριστά (για maths, rasterization, projection, κλπ) με documentation και εξήγηση των βασικών τεχνικών γιατί άντε να πάρεις έναν κώδικα 50kb assembly για 3d και να καταλάβεις τι γίνεται :P
 
Ο Nyyrikki από το http://www.msx.org forum είχε κάνει post για 3d σε msx basic.

αν και όχι raytraycing,είναι εντυπωσιακό.

εδω είναι και το source του για msx μηχανήματα χρειάζεται να έχει κάνει κανείς msx nestorbasic add on και 3d glasses και το βλέπει

το nestorbasic το κατεβάζει κανείς από εδώ http://www.konamiman.com/msx/msx-e.html

10 COLOR 3,0,0

20 SCREEN 6

30 OPEN "GRP:" FOR OUTPUT AS #1

40 PSET (190,32),0

50 PRINT #1,"Made By : NYYRIKKI"

60 SET PAGE ,1:CLS

70 PSET (190,32),0

80 PRINT #1,"Made By :"

90 _TURBO ON

100 DEFINT C-Z

110 DIM XP(100),YP(100),ZP(100),LX(100),LY(100)

120 COLOR=(1,0,0,7)

130 COLOR=(2,4,0,0)

140 COLOR=(3,4,0,7)

150 S0=0:S1=1

160 FOR K=0 TO 1

170 RESTORE

180 FOR W=0 TO 9

190 I=W+K*10

200 READ XP(I),YP(I):XP(I)=XP(I)*10:YP(I)=YP(I)*10:ZP(I)=(K *2-1)*5

210 NEXT W,K

220 '

230 AZ=AZ+.08:AY=AY+.065:AX=AX+.097: D=SIN(R/15)*50+110:R=R+1

240 B1=COS(AX):B2=SIN(AX):B3=COS(AY):B4=SIN(AY):B5=COS (AZ):B6=SIN(AZ)

250 SET PAGE S0,S1:SWAP S0,S1

260 'CLS

270 LINE (112,40)-(399,190),0,BF

280 FOR K=0 TO 1

290 FOR I=0 TO 19

300 X=XP(I):Y=YP(I):Z=ZP(I)

310 GOSUB 400

320 LX(I)=X*2+256-K*13:LY(I)=Y+106

330 NEXT I

340 FOR I2=0 TO 9

350 LINE (LX(I2),LY(I2))-(LX((I2+1)MOD10),LY((I2+1)MOD10)),K+1,,OR

360 LINE (LX(I2+10),LY(I2+10))-(LX(I2),LY(I2)),K+1,,OR

370 LINE (LX(I2+10),LY(I2+10))-(LX(((I2+1)MOD10)+10),LY(((I2+1)MOD10)+10)),K+1,,O R

380 NEXT I2,K

390 GOTO 220

400 'x axis

410 Y2=B1*Y-B2*Z

420 Z=B1*Z+B2*Y

430 'y axis

440 X2=B3*X+B4*Z

450 Z=B3*Z-B4*X

460 'z axis

470 X=B5*X2-B6*Y2

480 Y=B5*Y2+B6*X2

490 'X=X2:Y=Y2

500 X=(X+K*5)*D/(Z+120)

510 Y=Y*D/(Z+120)

520 RETURN

530 DATA -2,2 ,-2,-2 ,-1,-2 ,1,0 ,1,-2 ,2,-2 ,2,2 ,1,2 ,-1,0 ,-1,2

εδώ είναι και το video σε youtube [ame=http://www.youtube.com/watch?v=oxJPGVqLSEE&feature=related]YouTube - 3D in MSX-BASIC .Φανταστείτε να έπαιζε κώδικας μηχανής.

Πάντως κάπου είχε πάρει το μάτι μου ένα raytracing demo για msx2 μηχανήματα.Θα ψάξω και θα σας κάνω post αν το βρω.

UPDATE:Το βρήκα

http://www.msxarchive.nl/pub/msx/demos/raydemo.pma (θέλει pma extractor)

http://www.purose.net/befis/halloffame/msx_demo/Raytrace/ (screenshots για το demo)

Επίσης ο Nyyrikki δείνει και ένα demo για msx που είναι μόνο 512 bytes,και είναι απίστευτο!

Z80 machine code forever!

UPDATE 2:Texture mapping σε z80,r800 turbo r msx μηχάνημα.Δείτε αυτό το demo κάπου προς το τέλος,έχει έναν κύβο με διάφορα textures που περιστρέφεται.

Made by Nyyrikkihttp://www.youtube.com/watch?v=D54mei15BA0&feature=related
 
Τελευταία επεξεργασία από έναν συντονιστή:
Nikodr,long time no see!
 
Πίσω
Μπλουζα