Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email
?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Home
About
Team
Rules
Stats
Status
Sitemap
Chat
Downloads
Forum
News
Our Projects
Major Community Projects
Recent Posts
Unread Posts
Replies
Tools
SourceCoder3
Other Things...
Omnimaga Radio
TI-83 Plus ASM File Unsquisher
Z80 Conversion Tools
IES TI File Editor
Free RAM areas
Comprehensive Getkeyr table
URL Shortener
Online Axe Tilemap Editor
Help
Contact Us
Change Request
Report Issue/Bug
Team
Articles
Members
View the memberlist
Search For Members
Buddies
Login
Register
Omnimaga
»
Forum
»
Calculator Community
»
Other Calc-Related Projects and Ideas
»
TI Z80
»
3D in Basic
« previous
next »
Print
Pages: [
1
]
2
Go Down
Author
Topic: 3D in Basic (Read 5695 times)
0 Members and 1 Guest are viewing this topic.
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
3D in Basic
«
on:
August 29, 2006, 06:59:00 pm »
I was thinking one day about making a 3d game in TI 83+ BASIC with Xlib, and I have some ideas on how to move the 3d objects but I don't have the equations, so I was wondering if someone could help me find a way to draw a cube and rotate it in all four ways.
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
lolje
LV5
Advanced (Next: 300)
Posts: 299
Rating: +2/-0
3D in Basic
«
Reply #1 on:
August 30, 2006, 12:48:00 am »
If you asked me, I don't know but I think they should integrate this Engine into xLIB:
0_o
Logged
83+/84+ xLIB projects
Age of culture II (~89%)
Contact:
[email protected]
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
3D in Basic
«
Reply #2 on:
August 30, 2006, 01:17:00 am »
O_O
O_O
HOLY s***! more and more 3d engines o.o
I saw the one from benryves on mc but not that one. It could be a good feature indeed
but managing all collision detection may be very slow with all those math/if/then
Logged
lolje
LV5
Advanced (Next: 300)
Posts: 299
Rating: +2/-0
3D in Basic
«
Reply #3 on:
August 30, 2006, 02:38:00 am »
No, I mean a function like the shape function, The Input would be coordinates (X,Y,Z) and size (also X,Y,Z). That should not be such a big problem...
You could e.g. use a 2D-Engine, but 3D-Graphics :lol:
Logged
83+/84+ xLIB projects
Age of culture II (~89%)
Contact:
[email protected]
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
3D in Basic
«
Reply #4 on:
August 30, 2006, 03:37:00 am »
i c >.<
Logged
elfprince13
Guest
3D in Basic
«
Reply #5 on:
August 30, 2006, 09:33:00 am »
I did a wall based 3d maze engine in pure basic a while back, it worked pretty well too, and if I optimized it I can probably wrench some more speed out of it.
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
3D in Basic
«
Reply #6 on:
August 30, 2006, 12:43:00 pm »
Actually I found the equation to convert 3D points to 2D on a plane from some C documents so I made a copy of the C programs in BASIC for true 3D rendering but sadly it is very slow it takes about 2 seconds to render 8 3D vertices
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
Dragon__lance
Guest
3D in Basic
«
Reply #7 on:
August 30, 2006, 12:48:00 pm »
if you want psuedo 3d, be sure to check out CDI's p3d! It's really cool!
Logged
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
3D in Basic
«
Reply #8 on:
August 30, 2006, 01:00:00 pm »
if someone have a BASIC routine to do wireframe 3D stuff I would be happy to mess with it a little just for fun
Logged
kalan_vod
LV11
Super Veteran (Next: 3000)
Posts: 2715
Rating: +10/-0
3D in Basic
«
Reply #9 on:
August 30, 2006, 02:31:00 pm »
QuoteBegin-xlibman+30 Aug, 2006, 19:0-->
QUOTE
(xlibman @ 30 Aug, 2006, 19:00)
if someone have a BASIC routine to do wireframe 3D stuff I would be happy to mess with it a little just for fun
Someone on UTI made one with xLIB.
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
3D in Basic
«
Reply #10 on:
August 30, 2006, 03:06:00 pm »
This is a C to BASIC translation so it's not perfect but it is true 3D. Im just posting it so someone can mess with it. I know how to do rotations with it but I haven't implemented that yet but if you want to know then just ask and i'll post it. Although it is sorta hard to understand kinda. Also I have a way to make it solid instead of wireframe which is also hard to explain but if needed to know then just ask.
-Recommended screens settings are -94,94 for X and -94,94 for Y too.
L=list thingy
c1-->
CODE
ec1
Clrdraw
\\This list is used to tell the lines which points to connect
{0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7}->LLin
\\This is used to store 3D vertices to 2D transformations
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}->LSRC
\\This is the work list because you want to keep your orignal list there at all times
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}->LWOR
\\This is the camera in 3D space
{0,0,20}->LCAM
\\This is the center of the screen
{0,0}->LSCC
\\These are your 3D vertices
{-10,-10,-10,10,-10,10,10,10,-10,-10,10,-10,-10,-10,10,10,-10,10,10,10,10,-10,10,10}->LCUB
\\This variable is the distortion
8->D
->B
For(A,1,24
If B<3:Then
B+1->B
Else
1->B
End
LCUB(A->E
LCAM(B->F
\\It is required that you subtract the camera position (x or y or z) depending on B
E-F->LWOR(A
End
-1->B
For(A,1,24,3
B+2->B
LSCC(1->E
LWOR(A->F
LWOR(A+2->G
// coord.x = screen_center.x + (distortion * 3Dcoord.x)/ 3Dcoord.z
E+(D*F)/G->LSRC(B
LSCC(2->E
LWOR(A+1->F
// coord.y = screen_center.y + (distortion * 3Dcoord.y)/ 3Dcoord.z
E-(D*F)]G->LSRC(B+1
End
For(A,1,16,2
round(LSRC(A,->X
round(LSRC(A+1,->Y
Pt-On(X,Y
End
\\Now we draw the lines in to make the cube
For(A,1,24,2
LLIN(A)*2+1->W
LLIN(A+1)*2+1->V
LSRC(W->X
LSRC(W+1->Y
LSRC(V->Z
LSRC(V+1->theta
Line(X,Y,Z,theta
End
c2
ec2
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
runtogetdone
Guest
3D in Basic
«
Reply #11 on:
August 31, 2006, 01:46:00 am »
Here's a
http://www.rafb.net/paste/results/eKrD7599.html
to some basic 3D formulas that might prove useful
(Thank tr1p1ea for the links, not me
)
Logged
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
3D in Basic
«
Reply #12 on:
August 31, 2006, 02:33:00 am »
OMG I'll try asap, I hope I can convert code to tigl format tho
, maybe someone could post a 8xp?
Logged
Halifax
LV9
Veteran (Next: 1337)
Posts: 1334
Rating: +2/-1
3D in Basic
«
Reply #13 on:
August 31, 2006, 11:42:00 am »
That link doesn't work
Also I'm working on implementing rotation into that source code above, but anyways xlibman the 8xp format is attached.
Logged
There are 10 types of people in this world-- those that can read binary, and those that can't.
Alex
Guest
3D in Basic
«
Reply #14 on:
August 31, 2006, 03:43:00 pm »
I'd like to experiment with a little 3D myself hehe
I wish you guys good luck, pushing calc limits is always fun and admirable
- Alex
Logged
Print
Pages: [
1
]
2
Go Up
« previous
next »
Omnimaga
»
Forum
»
Calculator Community
»
Other Calc-Related Projects and Ideas
»
TI Z80
»
3D in Basic