Closed Thread Icon

Topic awaiting preservation: 3d Projection, with a twist, for Software Engines only!!! Pages that link to <a href="https://ozoneasylum.com/backlink?for=23463" title="Pages that link to Topic awaiting preservation: 3d Projection, with a twist, for Software Engines only!!!" rel="nofollow" >Topic awaiting preservation: 3d Projection, with a twist, for Software Engines only!!!\

 
Author Thread
sonyafterdark
Obsessive-Compulsive (I) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-28-2004 12:48

It may already exist, it may even be considered lame, stupid, impractical, or whatever... It doesn't matter. I'll tell you about it anyway, even though I have a sinking feeling that this has been done time and time again since ancient times.

Here it comes :D

Instead of the usual projection modes, parallel projection and perspective projection, why not use this:
divide X coordinate of a vertex in real space by sqrt(sqr(x)+sqr(y)+sqr(z)) then divide the Y coordinate of the same vertex by the same monster, then multiply the results by the H and Vertical scales respectively, center the X and Y screen coordinates by adding half the x resolution and half the Y resolution respectively and finaly rasterize by either truncating or rounding the results and draw to screen and see what happens. You get the same view as when you would place an opaque reflective sphere in front of a real camera. The only difference is that this is not a reflexion. You've just applied zoom lens simulation to your 3D software engine. This must be done for every pixel in the frame, obviously. So it will slow things down A LOT. Ray tracing is the only way to go with this thing though I'm not sure even this would work, I have only tried this on my wireframe engine on the endpoint vertexes, for testing purposes only. Even if it can be done using ray tracing, I'm working on it, you must reduce overdraw if you have any hope of using this tehnique, so Z-buffer is out of the question. I've yet to see the simplest little cube be rendered this way. May be this is just a stupid idea and what should be done is simulate a magnifying glass effect on the finished frame, stored in memory, before drawing. This way is probably worse than what I've detailed before. Maybe it will be totally devoid of realism, maybe not. Trouble is, I haven't started developing an algo. for this yet so I can only vouch for the first variant. I must tell you, even though the lines themselves are not altered by this tpe of projection, only their end point position on screen, the effect is quite amasing, even on a wireframe engine. It's like watching who's outside the door through the peek hole. Maybe there's someone out there willing to help me out, share the code and effort or put me out of my misery if it's been done already? PLEASE?

End of bussiness part... :) dull part coming up

I don't know OpenGL, or DirectDraw, or 3d Studio Max, nor am I intending to learn... :) But I am developing my own 3d software engine, mainly as a show-off. I am writing it in Borland Pascal 7, for those of us who still have Dos on their machine, and will start the FreePascal version soon. I am develping all the math and algos myself, as a matter of mathematical pride. I've only been doing this for the last 6 months but, to my annoyance, I am discovering concepts and algos, great innovations each and every one, that people have finished developing since the early 90's. You can see these in various demos from that epoque. And each time I get so excited... till someone cuts my wind and tells me it's been done a decade ago... :(

Keep an open mind and a closed skull but don't outlive your happiness.

GRUMBLE
Paranoid (IV) Mad Scientist

From: Omicron Persei 8
Insane since: Oct 2000

posted posted 09-28-2004 16:27

so i would get a fisheye view? like those used in panoramas?
i know that in 3dsmax this can only be done with the reflective sphere trick. other software have a fisheye lens camera.

btw: greetings to romania! been there this summer.

sonyafterdark
Obsessive-Compulsive (I) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-30-2004 07:02

Nice to hear from someone at last . How come all the interest?! :| Yes, a fish eye effect would be exactly what you get but it's kind of hard to apply. If you use sqrt(sqr(x)+sqr(z)) instead, you would simulate the effect you get while viewing through a semi-cilinder lens. Only the Horizontal would be subjected to the fisheye effect. The same goes for the vertical, if you use sqrt(sqr(y)+sqr(z)). I have lots more interesting things to share with this kind and gentle world ). But I'll start new threads for each...

How d'you find it hereGrumble? Have you been to Bucharest? If not, be sure to come again and visit the House of Parliament, it's only one of the largest buildings in the world. And the interior is as lavish as a Pharaoh's tomb .

Keep an open mind and a closed skull but don't outlive your happiness.

Skaarjj
Maniac (V) Mad Scientist

From: :morF
Insane since: May 2000

posted posted 09-30-2004 07:35

I believe that Discreet plans to bring out a fisheye-lens camera in the next ncarnation of MAX Grumble my friend. Although I'm not entirely sure, I'd swear that there was one in 3DSMAX 6

sonyafterdark
Obsessive-Compulsive (I) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-30-2004 08:22

Is there auto post notification? If so, I'd like to know when someone replies to my posts, I don't remember seeing this option in my profile...

Keep an open mind and a closed skull but don't outlive your happiness.

poi
Paranoid (IV) Inmate

From: France
Insane since: Jun 2002

posted posted 09-30-2004 08:37

sonyafterdark: No, there's no notification feature. But actually, as the LastModified value is sent in the HTTP headers of the Asylum, you don't need such feature if you use FireFox. Simply bookmark the threads you wanna keep an eye on, edit the properties of the said bookmarks and set the Schedule to check for updates "Every day" from Midnight to Midnight, every 60 minutes, and set the Notify method of your choice ( playing a sound, changing the bookmark icon, showing an alert, open web page in a new window )

[edit] Notice that you check regularly the Asylum, you'd better go directly on the quickchanges page, or "subscribe" to the RSS Changes in your feeds reader of choice. [/edit]

Hope that helps



(Edited by poi on 09-30-2004 08:43)

sonyafterdark
Obsessive-Compulsive (I) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-30-2004 08:50

Not much use for me, 10x anyway, Poi. Could we arrange a poll? See who is for Software Rendering, who for Hware? Or is polling unsupported also?

Keep an open mind and a closed skull but don't outlive your happiness.

poi
Paranoid (IV) Inmate

From: France
Insane since: Jun 2002

posted posted 09-30-2004 09:18

What is not much use for you ? the RSS feed and the QuickChanges pages or the Schedule feature of FireFox ?

Nope, there's no automated polling system here. The Asylum is a home-made forum especially designed to match the daily needs of the inmates and provide convenient features like those in the Post Reply box ( quick UBB tags management, textarea height increase button, ... ), or the [xx] syntax to make a link to the thread xx, etc...

Whatever, unless you want to make a poll with dozens of items, you can make a post with a list of items and ask the opinion of the inmates.

GRUMBLE
Paranoid (IV) Mad Scientist

From: Omicron Persei 8
Insane since: Oct 2000

posted posted 09-30-2004 13:19

ah i dont know about max6, maybe there is already a fisheye camera model.
anyway, here is a max tutorial using the sphere trick: http://www.hatetank.dk/Fisheye-tut.htm

but i like the fisheye camera of POV-Ray best.

sonyafterdark, no, ive not been to bucharest but to cluj-napoca at the university for two weeks this summer. nice and hot city.

sonyafterdark
Nervous Wreck (II) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-30-2004 17:09

What is PovRay? Graphics library? SDK(i think)? 3d engine? the pics i saw there look like they're camera footage. I didn't take the time to read the stuff they wrote though, not much anyway.

Particularly good is this city scene [url=http://povray.org/zazzle/i/70002668.jpg]. My own attempts at 3D look as pathetic as Quake I by comparison. Altough i can pride myself on the fact that i developed them entirely on my own. Even the fish eye trick. I so hoped that was only my discovery ... I mean, Pov is so much better than anything i'm likely to develop during a lifetime. The liniar fisheye effect is also detailed there. I'm curious how it's done in povray though. The same thing i use or something better? I think they don't use the same thing because MY TEHNIQUE creates square, normal frames, unlike the POV which creates CIRCULAR fisheye frames ) hehehehe.

This leads me to believe that they used the second way i wrote about to achieve this: run a magnifying glass algo. on a finished frame(2d image) after projection(EASY WAY OUT, maybe even faster). The fact they say it's a projection is a bold faced lie, it's done after rendering(and implicitely projection), before displaying the frame, i think. Even if you trade your soul and stand on your tail, i don't think you can create normal frames(square, covering the whole screen) in povray simulating fisheye lens without drawing a frame larger than the current screen resolution. I might be the smarter one after all. Hope i'm not arrogant. )))

Oh, and how does one obtain rank, by duration of unwellness? )

And poi, it's not much use for me cause the net provider that covered where i live went under last week. So did its services. I was just curious.

What did you study there Grumble?

Keep an open mind and a closed skull but don't outlive your happiness.

GRUMBLE
Paranoid (IV) Mad Scientist

From: Omicron Persei 8
Insane since: Oct 2000

posted posted 09-30-2004 17:18

POV-Ray is an open source raytracer. check their homepage for more info, i dont wanna copynpaste everything here.

how do you mean you create squares?
more like panoramic?

in cluj i didnt really study, i just made a course about 3d industrial design.

sonyafterdark
Nervous Wreck (II) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-30-2004 17:41

I am not alone .

It said there that fisheye is a type of projection that does fisheye simulation and is circular, it does not cover the whole screen. The corners remain black, i presume.

With divide by sqrt(sqr(x)+sqr(y)+sqr(z)) projection, the resulting image is NOT a result of a 2d image
(or finished frame made by normal perspective projection) being subjected to a magnifyng glass algorhytm that displaces pixels by mathematical computation thus shrinking the image to get the effect. The method i wrote about uses an entirely different projection, not a 2d trick to transform a finished frame altough this probably is the better solution in terms of speed NOT REALISM OR ACCURACY. I probably could also make it display 360 if that's waht you mean, but one thing at a time. I probably could make it display 360 if that's what you mean, but one thing at a time, I haven't even made it work for 90 degree or less frames yet. My way almost certainly involves different ray tracing than normal perspective projection as now you have to take into account the fact that the projection results do not neccessarily vary liniarly across depth(not at all actually, unless the object is a dot right in front of you speeding away or towards you). That is why I asked myself whether it could be applied at all to anything more than lone vertexes tough if it can be done, I will surely do it.

The difference might be easier to see at lower resolutions when my tehnique's accuracy (if I can get it finished) should be far more obvious.

Could someone please post a reply to my other thread? ppls, it feels neglected .


And where exactly is Omicron Persei 8? Munich, Barcelona, New York, London...

Keep an open mind and a closed skull but don't outlive your happiness.

(Edited by sonyafterdark on 09-30-2004 18:03)

sonyafterdark
Nervous Wreck (II) Inmate

From: Bucharest, Romania, Eastern Europe
Insane since: Sep 2004

posted posted 09-30-2004 18:05

Wow, I just got promoted, must be the tooth fairy's work ).

And about the projection, maybe it would be easier to explain with some snaps of the wireframe engine.

I think it's time i changed my signature, it's gettin' kind of annoying event to me.

Keep an open mind and a closed skull but don't outlive your happiness.

(Edited by sonyafterdark on 09-30-2004 18:18)

GRUMBLE
Paranoid (IV) Mad Scientist

From: Omicron Persei 8
Insane since: Oct 2000

posted posted 09-30-2004 21:05

yes, you should post some screenshots, so we understand what you mean.

Omicron Persei 8 is a 1000 lightyears away from earth:



« BackwardsOnwards »

Show Forum Drop Down Menu