comp.lang.ada
 help / color / mirror / Atom feed
* 3D engine, v.3
@ 1999-03-22  0:00 Gautier
  1999-03-22  0:00 ` Mike
  0 siblings, 1 reply; 4+ messages in thread
From: Gautier @ 1999-03-22  0:00 UTC (permalink / raw)


Version #003 of the 3D engine with Gouraud-shaded textures
lays @ ftp://ftp.unine.ch/incoming/gautier/ Enjoy! G.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 3D engine, v.3
  1999-03-22  0:00 3D engine, v.3 Gautier
@ 1999-03-22  0:00 ` Mike
  1999-03-23  0:00   ` Gautier
  1999-03-23  0:00   ` Jerry van Dijk
  0 siblings, 2 replies; 4+ messages in thread
From: Mike @ 1999-03-22  0:00 UTC (permalink / raw)


In article <36F66C5C.8370C364@Maths.UniNe.CH>, Gautier says...
>
>Version #003 of the 3D engine with Gouraud-shaded textures
>lays @ ftp://ftp.unine.ch/incoming/gautier/ Enjoy! G.

hi,

thanks for this.

But since this is DOS only application, is there a way to build it on Linux,
or must one  use the DOS/GNAT compiler?  Why is that? does the GNAT/DOS
compiler has special packages/libraries not in the Linux version that this
application makes calls to?
 
I get these link erros on Linux:

/3d_engine/ENGINE3D/DEMO3D00 $gnatmake demo_3d_00.adb -I../LIB_SRC/MISC
                              -I../LIB_SRC/SVGA02X3 -I../LIB_SRC
...
 
gnatlink demo_3d_00.ali
./djgpp_library.o: In function `djgpp_library___elabs':
./djgpp_library.o(.text+0x9): undefined reference to `_go32_info_block'
./pc_keyboard.o: In function `pc_keyboard__is_key_waiting':
./pc_keyboard.o(.text+0x17): undefined reference to `__dpmi_int'
./pc_keyboard.o: In function `pc_keyboard__get_scancode':
etc..

This is using gnat3.11p.

Mike
ps. why are people still using DOS?  :)





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 3D engine, v.3
  1999-03-22  0:00 ` Mike
  1999-03-23  0:00   ` Gautier
@ 1999-03-23  0:00   ` Jerry van Dijk
  1 sibling, 0 replies; 4+ messages in thread
From: Jerry van Dijk @ 1999-03-23  0:00 UTC (permalink / raw)


Mike@word_nospam wrote:

: >Version #003 of the 3D engine with Gouraud-shaded textures
: >lays @ ftp://ftp.unine.ch/incoming/gautier/ Enjoy! G.

: But since this is DOS only application, is there a way to build it on Linux,
: or must one  use the DOS/GNAT compiler?  Why is that? does the GNAT/DOS
: compiler has special packages/libraries not in the Linux version that this
: application makes calls to?

Yes, Gautier is using a modified version of my svga package, which is
a DOS package based upon VBE v2.0.

: I get these link erros on Linux:
: ./djgpp_library.o: In function `djgpp_library___elabs':
: ./djgpp_library.o(.text+0x9): undefined reference to `_go32_info_block'
: ./pc_keyboard.o: In function `pc_keyboard__is_key_waiting':
: ./pc_keyboard.o(.text+0x17): undefined reference to `__dpmi_int'
: ./pc_keyboard.o: In function `pc_keyboard__get_scancode':

That is correct, these are direct or indirect calls to the runtime library
of the djgpp gcc port. These are, of course, not available on Linux.

In today's world there really are two ways to do graphics:

a) use OS specicic features
b) use a portable graphics platform

Personally I prefer option (a) since that gives the highest performance.
However, lots of people seem to prefer option (b) for portability
reasons. Option (b) includes two versions:

a) ported graphics engines
b) interpreted code

in catagory (a) there are gtk and opengl/mesa, in category (b) Java and
Tck/Tk.

As for a Linux version, that is possible but:
a) do you mean an X based one ?
b) do you mean a vgalib one ?
c) do you mean a vbe one ?

Note that a thin binding to vgalib (linux console graphics) with an
example is on my homepage (old site), so you can try porting Gautiers
code to this. Alas, vgalib is being phased out as newer kernels support
vbe graphics. Unfortunately, not everyone is using one of those yet.

As for X, I have not tried Gautiers package, but I would expect you could
archive the same using Glut and Mesa.

: Mike

: ps. why are people still using DOS?  :)

It is small, fast, cheap, and allows control over the whole machine, to name
just a few reasons. (yes, I noted the smiley, but still... :-)

Jerry.

--
-- Jerry van Dijk | Leiden, Holland
-- Team Ada       | jdijk@acm.org
-- see http://stad.dsl.nl/~jvandyk




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 3D engine, v.3
  1999-03-22  0:00 ` Mike
@ 1999-03-23  0:00   ` Gautier
  1999-03-23  0:00   ` Jerry van Dijk
  1 sibling, 0 replies; 4+ messages in thread
From: Gautier @ 1999-03-23  0:00 UTC (permalink / raw)


> >Version #003 of the 3D engine with Gouraud-shaded textures
> >lays @ ftp://ftp.unine.ch/incoming/gautier/ Enjoy! G.

> hi,
> 
> thanks for this.
> 
> But since this is DOS only application, is there a way to build it on Linux,
> or must one  use the DOS/GNAT compiler?  Why is that? does the GNAT/DOS
> compiler has special packages/libraries not in the Linux version that this
> application makes calls to?

If you are pressed, run or compile under a Linux DOS-emulation;
if not, there is some adaptation according to the way the OS communicate
with the devices, here: keyboard, for key scanning, and video. Under Linux
you'll have the choice with solutions of a wide range of portaility - 
X-windows / full-screen PC / OpenGL... Anyway Jerry details it in his post.

> ps. why are people still using DOS?  :)

Scandalous. They even buy that graphic interface, called mmmh... Win95
(or Win98 ?) that runs on top of it.

More seriously: it's the most convenient solution with the
PCs I have access to. Be reassured: the DOS on _my_ PC has
a pre-emptive 32-bit multitasking kernel, so I can re-gnatmake an Ada
program in background while hacking something else... In addition, it's
ideal for making a cheap demo since it will run under Win9x, WinNT, OS/2,
Linux,...

-- 
Gautier




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1999-03-23  0:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-03-22  0:00 3D engine, v.3 Gautier
1999-03-22  0:00 ` Mike
1999-03-23  0:00   ` Gautier
1999-03-23  0:00   ` Jerry van Dijk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox