2
\$\begingroup\$

We are creating special purpose application. Its not game but its 3d Application that functions like game. We require app to have different places and we want to allow user to roam inside such places and take photographs of views.

Here is what we are doing

  1. We are creating a model of a place (e.g. Room Interior) in 3Ds Max
  2. We are exporting FBX file
  3. We are importing FBX file in XNA. Adding lights , placing camera.
  4. Application lets user rotate and move camera in any direction. Just as if you are moving character in FPS game.

Goal:

We want to capture high quality screenshot from the camera view point. We require hyper-realistic looking image.

What we do :

To achieve this we are capturing screenshot by storing screen pixels in an Image.

Problem :

Its pathetic quality image. As it is just a frame of run-time 3d render.

======

A. I heard POV ray is programmable renderer that can be helpful . But I dont know how will it fit in our current setup.

B. Is there any other approach which I can take to render high quality by looking at our current setup.

C: If I wish to entirely start from scratch , how should I code this application.

NOTE : I am just product manager for this app. I am not actual developer. But I have been web developer myself. I never did 3D programming though. But I know basics of all these.

\$\endgroup\$

1 Answer 1

3
\$\begingroup\$

POVRay is a raytracer with a custom file format (POV). As far as I can tell, the POV format is not very supported very well by third-party converters, although it is an ASCII format and you could write your own conversion. It runs on the command-line, so it is not technically an issue. However, the license requires you to obtain written permission from the POVRay authors before distributing it with your program.

In the open source category, You could also consider alternatives such as Yafaray (open source),which uses its own XML format, or LuxRender (unbiased, open source). Generally you will need to export the camera and lights and scene out to a file and invoke the raytracer. If you have the luxury of being able to wait a few hours for a render, the unbiased results of LuxRender make for some high-quality architectural shots. The Yafaray render should take seconds to minutes.

Generally, what distinguishes high-quality architectural renders is how well the light propagation is done. "Radiosity" or "Global Illumination" would be the keywords to search for here. There are ways to do these calculations in your XNA application as well. For example, with an artistic eye you can fake radiosity by adding extra lights to the scene, or you could implement a full-blown per-vertex iterative radiosity solver

\$\endgroup\$
1
  • \$\begingroup\$ thanks for answer it really helps. But I still need someone to comment on following questions B. Is there any other approach which I can take to render high quality by looking at our current setup. C: If I wish to entirely start from scratch , how should I code this application. \$\endgroup\$
    – dman
    Jul 12, 2013 at 9:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .