1. Tapu's 3D engine

Tämä on moniosainen MIME-muotoinen viesti.

------=_NextPart_000_0003_01BECF03.43C9C220
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Here it finally is...
First release of my 3D engine (sorry, no source (yet))

Tapu's 3D engine
Version none
alpha-preview limited release

This is one of my engines. It doesn't contain all the features I've =
done, but atleast it's working well(?).
My 3D engine project is still very far away from it's final profile, but =
this one will show you guys a bit of what I'm currently doing and where =
I am.
This engine is also special, becouse I've developed the whole 3D part of =
it in my head without any help/documentation/etc.  I've been developing =
my engine for the last three years(not all the time ofcourse), first =
with QBasic, but now with Euphoria.
This engine doesn't really give you a clue of it's true speed(been =
testing that with another engine of mine ;)
The rendering and other stuff will be VERY fast in the future!

Anyway, give me some feedback and read that .txt file before running.

Oh, I already forgot... I'm still lack of those super fast graphics. I'm =
currently using Neil, and it works well in f.ex. 320x200x8 mode, but I'd =
like to use fast high resolution, high color modes.
I use only one single pixel() that contains sequence of pixel-data and =
send it to graphic lib. That's all I need! DirectX interests me, so how =
are you doing with Exotica and it's documentation Todd?
btw, Neil is a great graph lib, and if I would be doing a game with =
sprites&other things, I wouldn't use anything else but it!

Rob, don't add this engine to contribution page. I'll send you better =
one soon!

--Warning: Tapani has been released!

------=_NextPart_000_0003_01BECF03.43C9C220
        name="t3de.ZIP"

new topic     » topic index » view message » categorize

2. Re: Tapu's 3D engine

Oh shit!

Now most of my secrets are revealed! (still got fistful in my pocket ;) =
I forgot to bind! and three years of developing...it's better I won't =
write the words coming into my mouth
Well, maybe I never wouldn't get it ready anyway. I hope the source will =
help somebody.
But, if you use part of my code or it gives you great advantages, could =
you remember me in credits (with
my nickname Tapu ;)

btw Rod (or somebody else), are you interested of having a shared 3D =
engine project? I don't have the time to code everything and wonder =
those graph libs, so maybe we could get something done together?

--Tapani

new topic     » goto parent     » topic index » view message » categorize

3. Re: Tapu's 3D engine

At 10:52 PM 7/15/99 +0300, you wrote:
>Oh shit!
>
>Now most of my secrets are revealed! (still got fistful in my pocket ;) I

That was a massive blunder, eh? smile

I was expecting bound code, but when I saw the code in all it's naked
glory, I thought to myself, "But I thought he didn't want to distribute
source yet...?"

Oh well. blink

new topic     » goto parent     » topic index » view message » categorize

4. Re: Tapu's 3D engine

Talvitie wrote:
> Anyway, give me some feedback and read that .txt file before running.

Good job.. :)  I got 8 fps for the 640x480 8bit mode and
3 fps for the 1024x768 24/32bit mode.

>  DirectX interests me, so how are you doing with Exotica and it's
>  documentation Todd?

Curious, did all the examples work fine for you?

When I ever get Direct3D implemented into Exotica, it should be
possible for you to use your own 3D engine to do the math in
euphoria. I just don't know how easy/hard it will be to convert
your 3D engine to use DirectX/Direct3D quite yet if you are
interested in that.

I been trying to tweak some of my code, finished the cd audio
functions, added wave streaming and MIDI support.
I need to add more control of DirectSound for the users...
and try to finish up me API docs... also, I need to make
a demo to introduce Exotica which will include a simple
game in it.

Plus,  I need to make an example how to do mem_copy
to do graphics. With the help of Mark(aka Liquid Nitrogen),
I see that most of the Euphoria programs I've seen uses mem_copy
to transfer a whole block of memory to display graphics in DOS.
It's possible to do this on a DirectX surface, but then it will
either show what you want on some video cards and show complete
garbage on other video cards. To avoid garbage, DirectX uses
a 'pitch' variable to know the exact width to use according to
the video card so your graphics will always be right on all
video cards. So an 'in-theory' mem_copy method for euphoria to
draw on a DirectX surface might be:

for y = 0 to  height do
   mem_copy (dst_ptr + y * dst_pitch, src_ptr + y,  bytestocopy)
end for

the 'bytestocopy' is the width of the graphic.

I don't know how much of a performance lost that would be, but that
"in theory" is the only way to be sure of a correct mem_copy'd graphic
blitting to the surface on all video cards.

But, "as a suggestion", with Windows/DirectX programming, storing your
bitmap into video memory and using the DirectX Blt/Bltfast functions
to blit that graphic to the surface which is also stored in video
memory will have the fastest performance than doing the Win32's
memcpy method. With these functions, DirectX also takes advantage
of any 2D acceleration your card may have and DirectX uses the
MMX if your cpu has this. I think DirectX 7.0 will have 3DNOW support,
I'm not sure of that yet. Ofcoarse, when I get the Direct3D stuff
done, DirectX will use any 3D acceleration it can support.
Anywayz, you will still have any options to your own choosing
on how you want to blit gfx to a DirectX surface.

Even though my lib 'Wraps' the DirectX functions, I am trying
to make it that the programmers that uses Exotica have complete
control on how DirectX operates without haveing to code in the
lame stuff. I don't want Exotica to confine the programmer on
"this the only way you can do it with my lib" type of thing.
Ofcoarse, I still have some work to do to achive that, specially
programming in euphoria with Exotica since I'm rather new to
Euphoria. Future feedback from Exotica users will help me
make Exotica easier to program with, hopefully.

Todd Riggins
--------------------------------
Want to know more about Exotica?
http://www.50megs.com/exotica/

new topic     » goto parent     » topic index » view message » categorize

5. Re: Tapu's 3D engine

Hello all

Sorry to bother. I'm having a little trouble with your engine. Ex.err reports:

C:\EUPHORIA\T3DE.EX:629
fg_color has not been declared
        fg_color(7)
               ^
This is a probably a simple problem, but my time is short to debug.

Thanks
Paul Martin

At 08:47 PM 7/15/99 +0300, you wrote:
>Here it finally is...
>First release of my 3D engine (sorry, no source (yet))
>
>Tapu's 3D engine
>Version none
>alpha-preview limited release
>
>This is one of my engines. It doesn't contain all the features I've done,
but atleast it's working well(?).
>My 3D engine project is still very far away from it's final profile, but
this one will show you guys a bit of what I'm currently doing and where I am.
>This engine is also special, becouse I've developed the whole 3D part of
it in my head without any help/documentation/etc.  I've been developing my
engine for the last three years(not all the time ofcourse), first with
QBasic, but now with Euphoria.
>This engine doesn't really give you a clue of it's true speed(been testing
that with another engine of mine ;)
>The rendering and other stuff will be VERY fast in the future!
>
>Anyway, give me some feedback and read that .txt file before running.
>
>Oh, I already forgot... I'm still lack of those super fast graphics. I'm
currently using Neil, and it works well in f.ex. 320x200x8 mode, but I'd
like to use fast high resolution, high color modes.
>I use only one single pixel() that contains sequence of pixel-data and
send it to graphic lib. That's all I need! DirectX interests me, so how are
you doing with Exotica and it's documentation Todd?
>btw, Neil is a great graph lib, and if I would be doing a game with
sprites&other things, I wouldn't use anything else but it!
>
>Rob, don't add this engine to contribution page. I'll send you better one
soon!
>
>--Warning: Tapani has been released!
>
>Attachment Converted: "c:\eudora\attach\t3de.ZIP"
>

new topic     » goto parent     » topic index » view message » categorize

6. Re: Tapu's 3D engine

You need the latest version of Neil.

Available from Pete's page:
http://www.harborside.com/home/x/xseal/euphoria/

Probably available from the Official Euphoria page as well.

-molasses

----- Original Message -----
From: Paul Martin <twilight at WCC.NET>
To: <EUPHORIA at LISTSERV.MUOHIO.EDU>
Sent: Friday, 16 July 1999 3:18 pm
Subject: Re: Tapu's 3D engine


> Hello all
>
> Sorry to bother. I'm having a little trouble with your engine. Ex.err
reports:
>
> C:\EUPHORIA\T3DE.EX:629
> fg_color has not been declared
>         fg_color(7)
>                ^
> This is a probably a simple problem, but my time is short to debug.
>
> Thanks
> Paul Martin

new topic     » goto parent     » topic index » view message » categorize

7. Re: Tapu's 3D engine

I'm not pissed off anymore. it's great if someone finds my code useful, =
and I'm happy to help if having any time to sit behind the screen. The =
only thing that bugged me yesterday was the hard-worked mathematics that =
really do the 3D section, nuthing else. Well, that part is so =
complicated, that even I'm not always sure how I did figure out those =
things (ofcourse checking my notes, design drawings & old engines brings =
the solutions back into my head). So if someone figures those =
mathematics out, then let me know! (just being curious if that can be =
done :)

MB King wrote:
><Bug Report>
>s-3 dx card with 4 megs mem
>It displayed in the higher color settings on my card, but the memmory
>wasn't setting right.  The higher resolutions didn't set themselves so =
that
>they displayed correctly either.

This bug isn't in my engine, but I had similar kind of problem with =
Neil. Pete did wrote vesainfo program for him to solve this kind of bugs =
(propably your card has different kinds of bit encoding for the same =
resolution type, and Neil reads the wrong one (am I right, Pete?)).

Pete wrote few months ago:
>I've put the vesainfo program up on my web page:
>http://www.harborside.com/home/x/xseal/euphoria/
>if you would be so kind as to go and download the exe file and follow =
the
>instructions I would really appreciate it.

Download it, then send him the file vesainfo creates and let him know =
your card type and name


Todd, I'm really in a need of fast high resolution lib, and what I've =
seen some DirectX games, I tought that maybe it would be fast enough. So =
the only thing in DirectX is DirectDraw for me att this time. I'd like =
to base my engine on something rather than change the graph lib all the =
time. After my engine is running as I've been dreaming, I'll start to =
think 3D card support, sound systems, etc. DirectX could be a pretty =
good solution for those too, what you think?
Because the graphics are the most needed and required part in any game, =
I suggest that you'd make that part done first, including docs (so that =
the coders using exotica could really start to code their own projects =
;)
btw, I checked your Exotica examples... very,very promising! Some of the =
examples were in need of some files (like .bmp), so I haven't had the =
time to check 'em out. Keep on the good work!

Thanks for the feedback for everyone. Rod, I'll write to you later. I'm =
in hurry now!

--Tapani

Ps. I heard that L.A.Guns would be on summer tour in States! Wish I'd be =
there. Snif!

new topic     » goto parent     » topic index » view message » categorize

8. Re: Tapu's 3D engine

Talvitie wrote:
> Todd, I'm really in a need of fast high resolution lib, and what I've seen
> some DirectX games, I tought that maybe it would be fast enough. So the only
> thing in DirectX is DirectDraw for me att this time. I'd like to base my engine
> on something rather than change the graph lib all the time. After my engine is
> running as I've been dreaming, I'll start to think 3D card support, sound
> systems, etc. DirectX could be a pretty good solution for those too, what you
> think?

By all means, make your dreams come true! I would love to see the
results... :)
DirectX is a great solution for High performance games for
Windows. Then there's OpenGL which is also does graphics.
I still haven't tried programming OpenGL yet though.
Ofcoarse, Neil is a great solution for DOS Euphoria games.
Also, I started DOS pc programming with DJGPP in C using the
Allegro Library which is great for DOS games. Allegro can now
run in Windows using DirectX, but I "personally" didn't like
it's current performance and the lack of DirectX control.
So that's why I made Exotica.
Exotica is just an Option if people want to use it and I'm trying to
design it where people can make DirectX games quicker and still
have full control on how DirectX operates. I just happened to
run across Euphoria and saw that some Euphorians where wanting
DirectX compatibility with Euphoria( I'm happy to announce that
I'm a fully registered Euphorian!). So I decided to try to fill
that gap. That gave me more motivation to finish my lib in which
I needed very badly! :)

> Because the graphics are the most needed and required part in any game, I
> suggest that you'd make that part done first, including docs (so that the coders
> using exotica could really start to code their own projects ;)
> btw, I checked your Exotica examples... very,very promising! Some of the
> examples were in need of some files (like .bmp), so I haven't had the time to
> check 'em out. Keep on the good work!

Thanks! :)

The DirectDraw part of DirectX is already finished in Exotica.
You can blit graphics the DirectX way so far. I just don't
have the graphics primitives like lines, rectangles, circles, etc..
But I do have a pixel routine. Also I need to finish the example
on how to do mem_copy to blit gfx.

I will finish up the API docs and release the next version
of Exotica here soon. Some of those examples that required
you to fill in the files where done that way so I could keep
the zip file as small as I could for my first release.
All the future releases of Exotica I will include needed
.bmp, .avi, etc... files so it will be easier for people
to check out the examples with. But this means the zip file
will grow in size alot.

- Todd

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu