1. Introductions

Hello. Let me introduce myself. My name is Ryan Zerby. I'm 25, and the
Senior Programmer (well, only programmer) in the R&D division of a company
that does managed firewall services. My main interestes in computers,
however, are in artificial intelligence and virtual reality.

Until a few months ago, I was strictly a UNIX and SUN programmer. However,
I got a cheap pentium (complete with FDIV bug, explains why it was so
cheap) because SUN has nothing for V/R gear.  Anyway, I also purchased
a VFX1 HEADGEAR... a VR helmet with headtracking and stereoscopic display.
Then I decided to learn to do graphics programming for the helmet.

Well, I did manage to do some graphics coding for it, in C, but the overhead
of it was such a pain. I didn't want to worry about a lot of it. Then, I found
Euphoria. This language is great! After about a day of messing with it,
I was able to call the needed interrupts to interface with the headset,
and ported a full-color, stereo starfield over to Euphoria. Even
unoptimised I was happy with the speed,  especially considering the
ease of programming it presented!

My current direction with Euphoria is to make more stereo toys for the
headset, as well as trying to create more desktop style applications.
Eventually, I'd like to have a small computing environment that allows
me to take advantage of the 3-D capabilities of the headset, allowing
a 'surround environment' as well as stereovision. With Euphoria, I
can disregard a lot of the overhead, and get right to the application. I
love that!!

--
Ryan Zerby, Senior Programmer   ryanz at netrex.com

new topic     » topic index » view message » categorize

2. Re: Introductions

1->> Enthousiasm

>My current direction with Euphoria is to make more stereo toys for the
>headset, as well as trying to create more desktop style applications.
>Eventually, I'd like to have a small computing environment that allows
>me to take advantage of the 3-D capabilities of the headset, allowing
>a 'surround environment' as well as stereovision. With Euphoria, I
>can disregard a lot of the overhead, and get right to the application. I
>love that!!


Way to go Euphoria... VR helmet Programming in Euphoria sounds pretty
cool...

2-->> More suggestions (I just keep spitting these suggestions out)

A new data type called routine. That's what I want. It's value can be
printed and stuff like an integer, but the use can be so much faster since
the checking and actual pointing to the routine can be done when a value is
assigned to this.

Also it looks a lot better.

    procedure MCGA_Pixel (object x, sequence pos)
        .. code ..
    end procedure

constant routine my_pixel = routine_id ("MCGA_Pixel")

my_pixel ({3,3,4}, {100,100})
    instead of:
call_proc(my_pixel, {{3,3,4},{100,100}})

And it has to be faster.. (which should be possible using a special data
type.
Also it would be nice if we could call built-in routines also.

Please Robert (or any1 else), if you disagree, please specify why not..

Ralf

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

3. Re: Introductions

A few days ago Ralf wrote:

> constant routine my_pixel = routine_id ("MCGA_Pixel")
> my_pixel ({3,3,4}, {100,100})

> instead of:
> call_proc(my_pixel, {{3,3,4},{100,100}})

> And it has to be faster.. (which should be possible using a special
> data type.

It wouldn't be much faster to execute - the same intermediate
language code would be needed in either case to make the call.
You would only save the sequence construction time for joining
{3,3,4} and {100,100} together into one sequence,
but that's pretty fast.

I don't think the extra overhead of a call_proc vs. a normal
call is that great. Do you have a real-life example where it
matters? If so, time it and let us know.

> Also it would be nice if we could call built-in routines also.

It's rather difficult to make call_proc/call_func work with
built-in routines, e.g. floor, sin, rand etc. I agree it might
be nice to have that kind of generality, but actually
these built-ins (built in to ex.exe) are not implemented
as Euphoria subroutines, or even as C subroutines internally.
They are handled by Euphoria in the same way
as it handles primitive operations like +, -, [ ], & etc.

Built-ins may be called by the Euphoria programmer
using round brackets, e.g. floor(x), but they are not implemented
as subroutine calls. It's done more efficiently than that.

So for now, call_proc/call_func are limited to routines
that you write in Euphoria. If there's a big demand for it
I might reconsider.

Regards,
     Rob Craig
     Rapid Deployment Software

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

Search



Quick Links

User menu

Not signed in.

Misc Menu