Unified3D: Open Source Library for 3D Developers

Post Reply
User avatar
BlackholeOfSouls
One Eyed Hopeful
Posts: 47
Joined: Sat Jan 02, 2010 5:44 pm
Location: The Event Horizon of a Blackhole
Contact:

Unified3D: Open Source Library for 3D Developers

Post by BlackholeOfSouls »

I've started a open-source project called Unified3D. And I'm looking for help with developing it, ideas, and to create a database of all 3D Monitors/TV's/Projectors.

What is Unified 3D?
Unified3D is a library for Stereoscopic 3D Applications that allows applications to detect installed 3D Drives and Monitors. It also allows games to auto-create profiles in 3D Drivers. It aims to make it much easier for developers to implement 3D support in their applications/games. I also plan to add a Video function so games can output 3D Video on any of the 3 main 3D Drivers.

Right now almost all new games can not detect a 3D Driver, with the exception of a few "3D Vision Ready" games. This library already detects 3D environments. Once a game knows its running in Stereoscopic 3D it can be designed for 3D much easier. For example, playing a 3D Company Logo Video instead of a 2D company Logo Video, disabling refractions on water or any other special effects that do not work in 3D and often do not have a option to disable.

Helping the Project
Can you code? If so, feel free to drop me a PM for SVN access if your interested in helping this project. (I especially need someone who owns TriDef DDD)

Got any ideas? Post them on this thread, the idea is to make this library cover everything thats needed to ensure a decent game experience across iz3D, nVidia 3D Vision and TriDef DDD.

Own a 3D Monitor/Projector/TV? I need the internal model names, and screen size* - I will release a application to gather this information correctly over the next few days?
* With the exception of projectors, for which I only need the internal model name

Current State
I've only spent a few hours on the library so far, it can currently detect nVidia 3D Vison, iz3D and the display device model name.
Last edited by BlackholeOfSouls on Fri Jul 16, 2010 10:45 am, edited 1 time in total.
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: Unified3D: Open Source Library for 3D Developers

Post by Fredz »

Announcing an open source library and in the same announce saying that you intend to go commercial is quite a bad idea. Doing this you won't encourage open source developers to join because of the future direction of the project (closed source eventually). And closed source developers wouldn't probably participate to an open source project anyway.

That and the fact that you didn't release any code yet. Weird, weird, weird...
User avatar
BlackholeOfSouls
One Eyed Hopeful
Posts: 47
Joined: Sat Jan 02, 2010 5:44 pm
Location: The Event Horizon of a Blackhole
Contact:

Re: Unified3D: Open Source Library for 3D Developers

Post by BlackholeOfSouls »

I've removed all mention of the project ever going commercial. I guess it would be better to stay Open Source, that way it can be maintained by anyone. I'll be going with the GNU LGPL License and sticking to it. I've now registered the project on SourceForge.

https://sourceforge.net/projects/unified3d/" onclick="window.open(this.href);return false;

I'm just tidying up the current code and will then upload it to the SourceForge SVN. [DONE]

I also wish to explore some new ways of doing things in 3D games that will be a sub-project of this. For example, a true 3D Mouse cursor similar to Black and White's.
User avatar
phil
Cross Eyed!
Posts: 160
Joined: Sat Apr 26, 2008 4:23 pm
Location: Montréal, Canada
Contact:

Re: Unified3D: Open Source Library for 3D Developers

Post by phil »

BlackholeOfSouls wrote:Once a game knows its running in Stereoscopic 3D it can be designed for 3D much easier.

...disabling refractions on water or any other special effects that do not work in 3D and often do not have a option to disable.
I don't much like the sound of this. Developers who take an interest in 3D will implement 3D natively in their engine; they'll make their effects work in 3D and we'll all be better-off for it (for example, water effects look stunning in stereo when done properly).
I think it would be silly and shameful for a developer to go about detecting 3D drivers in order to dumb-down their graphics for the benefit of a clumsy 2D-to-3D conversion by the driver.

I don't like the idea of making it easier for developers to avoid implementing proper native stereo, do you see what I mean?

If a developer doesn't have enough interest/motivation to implement proper 3D, I say let them carry on making flat games, rather than helping them to create a second-rate experience for 3D users.

I hope none of that sounds harsh or impolite though... I'm just a bit of a purist y'see :oops:
User avatar
BlackholeOfSouls
One Eyed Hopeful
Posts: 47
Joined: Sat Jan 02, 2010 5:44 pm
Location: The Event Horizon of a Blackhole
Contact:

Re: Unified3D: Open Source Library for 3D Developers

Post by BlackholeOfSouls »

This is not just about allowing games to detect 3D drivers. It will allow developers to include a Convergence Profile in the game's installer for example, it will allow 3D Videos inside games (Not a big thing I know).

What about giving the game the ability to change convergence dynamically like the nVidia API allows, except in this case it would work on all 3 3D Drivers. (Not saying thats planned or anything. It would require work on TriDef and iz3D's side)
User avatar
Dom
Diamond Eyed Freakazoid!
Posts: 824
Joined: Sun Oct 19, 2008 12:30 pm
Contact:

Re: Unified3D: Open Source Library for 3D Developers

Post by Dom »

If you can make the separation control go in the negative, so less than zero or least and then add whole bunch of convergence and maybe a slight show of separation like 0.0003 draw then the scene would look proper and no doubling and crossing would happen. Also try and draw the scene in convergence instead of parallel then you could adjust the separation negative or positive in very minutte amounts.
http://www.cns-nynolyt.com/files/doms-systemspecs.html My System specs In HTML

Image

Cyberia on Youtube

__________________________________________________________________________________________
Image
User avatar
phil
Cross Eyed!
Posts: 160
Joined: Sat Apr 26, 2008 4:23 pm
Location: Montréal, Canada
Contact:

Re: Unified3D: Open Source Library for 3D Developers

Post by phil »

Dom wrote:If you can make the separation control go in the negative, so less than zero or least and then add whole bunch of convergence and maybe a slight show of separation like 0.0003 draw then the scene would look proper and no doubling and crossing would happen. Also try and draw the scene in convergence instead of parallel then you could adjust the separation negative or positive in very minutte amounts.
I'm not managing to understand that :?

The way I see it, to make the scene look proper, you should use proper geometry (ignoring FOV for the minute):

Stereo cameras parallel. The distance between them (interaxial) calculated as follows:

Code: Select all

camSpacing = (stereoStrength * 2 * tan(halfHorzFOV) * interpupillaryDistance * zeroParallaxDistance) / screenWidth
The horizontal projection offset (as a fraction of the frame width) calculated as follows:

Code: Select all

projectionOffset = stereoStrength * (interpupillaryDistance / 2 / screenWidth)
Using the equations above, native stereo games can dynamically move the zero-parallax plane anywhere they want, without interfering with the depth range. For example they can lock it to a specific object independent of the camera's distance from that object. They can also change their FOV on the fly without affecting the zero-parallax plane.
rahuxx
One Eyed Hopeful
Posts: 21
Joined: Fri Jun 20, 2008 9:09 am

Re: Unified3D: Open Source Library for 3D Developers

Post by rahuxx »

Where i can find the current codes and downloads to check.
Post Reply

Return to “General Stereoscopic 3D Discussion”