First of all thanks for creating the Windows Port of Unity !
I am currently pondering buying several Pro Licenses, and i have a few questions ( basically what plans there are for future improvement )
Will the included Mono Runtime be upgraded ?
2.2 is the current one, and being able to use
modern C# features would be an immense time saver.
( As well as due to the new Linear Tree JIT, compilation time and code quality should improve )
Are the plans to open up the render pipeline a little bit more ? I am a quite capable graphics programmer but for my projects i don’t have the time
to write an engine from scratch. I Would like to try out effects like SSAO, HDR rendering or maybe even
give Deferred or Light Indexed rendering a try…
Right now this seems impossible.
( Very minor ) will the Mono Unity API be brought
in sync with recommended C# Coding practices ( not using public member variables, naming conventions etc )
Are there plans for a DirectX10/11 renderer ( and maybe OpenGL Support for those featuers exposed through extensions ? Shader Model 4/5 Geometry Shaders etc.
While there are some threads ( which are a bit confusing ) about the topic
i would like to ask: Is it possible to design
large “on demand loaded” Worlds with Unity ?
e.g divide a very large landscape into square sized chunks and load these chunks dynamically at runtime ( on a background thread ) as the player moves ( and unload them again when not needed anymore ) ? Think like a World of Warcraft seamless world ? The chunks would be on the harddrive already, i am not referring to the Web Streaming feature here.
How does Unity handle multiple cores ?
Right now i only see one core busy when running the demos… are the plans to move e.g Physics or other
parts of the engine into different threads ?
What is the recommended approach to add custom
mesh preprocessing to the import process ? I would
like to try out some ideas with precomputed ( costly ) lighting information which should be stored into additional textures, and then displayed via a custom shader at runtime ( think PRT )
Ok i hope i am not to much of a busybody, thanks for any insight you can give me.
Yikes, that was a lot of questions. I’ll try to answer some of them to the best of my knowledge.
Not really sure what you mean about modern C# features, but stuff like generics and (as far as I know) delegates are available at least.
The render pipeline is already pretty configurable. Check out the camera functions in the documentation. SSAO and Deferred lighting are basically post processing effects which can at the moment be done in Unity using custom shaders and multiple passes. There is no support for rendering into floating-point buffers at the moment, I think, so “real HDR” will probably be hard, but using some traditional glow/blur tricks you will get nice-looking effects. I think I have seen examples of SSAO floating around the forums, and there is among others a DOF example supplied by Unity as a separate download here: Unity - Manual: Replacing shaders at runtime. If you have experience with CG (or HLSL) this should look somewhat familiar to you.
EDIT: Render-to-texture is a Pro only feature, forgot to mention that.
I mean things like Lambda Syntax for delegates,
LINQ to Objects, object initializers, collection initializers, anonymous types, implicitly typed
variables.
In my current job i work exclusivly in C# … with the release of C# 3.0 you can do things that used to take quite a lot of code in just a few lines, and it also is more easy to understand. Things like filtering collections, searching or collection manipulation.
You can also create very DSL like code using the above features. ( For example take a look at ASP.NET MVC )
I read on the forums that OpenGL Render to Float textures is not supported because of the non consistent exposure of those features… FBO which allows this on recent cards is actually in the OpenGL 3.0 spec and on DX it is not a problem at all to do this ( both 9/10 ) capable hardware of course but everything since Radeon 9xxx and Geforce 6 should be fine.
Thanks for your help on the questions though, maybe someone else can shed a light on the other ones.