Generating 3d pictures

Hi,



i don't know where to ask these questions, but after searching through the forum, i thought you could help me.



I have to generate 3d pics on a server without 3d hardware (Linux). I found mesa what, if i understood it right, beside others can act as an openGL implementation using pure software rendering. My first question:


  1. If i use mesa as a software renderer, does it support all the features, openGL in the same version would do within a hardware-driver ?
  2. Using jME with lwjgl, could i render scenes (only a static image) using jME on the top, lwjgl "in the middle", and mesa as low-level openGL implementation ?



    If someone could answer positive on 1) an 2), that would be a great step in my life  :smiley:


  3. If so, would you thing that would be easier/better with xith and jogl (will post the same topic on the forum there) ?



    Even if not, please answer following questions:



    Because fps is no problem in this case, i want to use fullscreen antialiasing. I found some topics related to that problem, but not the definitive answers:


  4. Does jME support FSAA or can i use this as openGL feature calling gl functions over lwjgl-methods within jme ?
  5. Again, could issue 4 be easier implemented with xith/jogl ?
  6. Anyway, is it possible, to write pixels from a frame to an image on disk (or another stream) ? (Should be in my thought)


  7. In view of treating jME as an typical 3d engine for games (or even as a game engine), would you thing it would by a good choice for my concern, or again, would maybe xith/jogl be the better choice (or another java solution) ?




No, only some features will work (most of the basic OpenGL 1.1 spec)


Bad, very bad :oops:

I thought, mesa with software rendering would provide all the features giving 3d developers the possibility for coding/testing new 3d or opengl features on machines without 3d hardware  :?

I don't thing, there exist high-performance webservers with high-end graphic cards  (sounds funny), or that there is a possibility to configure one at a hoster. (apart from that that i should have to buy an expensive card for developing)

So, all the questions after 1) have no more meaning.

Regarding pure java solutions: the best one i found is idx3d (watch examples at http://www.idx3d.ch/idx3d/idx3d.html , push 'A' for antialiasing) - very very nice for 48k of code (!), but it does'nt provide several features i need (Shadows, Collision Detection resp. "Intersection Detection", limited capabilities in texturing...).

Somebody knew other pure java engines ? Or the possibility to use high-end webservers with graphics-hardware  :?

Well… "high end card", "expensive"

Plug in a PCI based Geforce 5500 or somethuing (like 60$ or something?) and you have every feature available except pixel shader 3.0, which even high end cards like the Ati X850 range don't have. If you don't want all the latest fancy shader stuff I'm sure you can get it down to below 50$.



I seriously doubt this will be the main cost in any server you buy.



Edit: looking at the MESA homepage, they implement a lot more advanced stuff these days. Well you should have done that yourself in the first place of course :stuck_out_tongue: No idea if you'll get it all to work with JOGL or LWJGL

The best software engine I've seen is JPCT - http://www.jpct.net/



That might be what you are looking for.

llama said:

Well.. "high end card", "expensive"
Plug in a PCI based Geforce 5500 or somethuing (like 60$ or something?) and you have every feature available except pixel shader 3.0, which even high end cards like the Ati X850 range don't have. If you don't want all the latest fancy shader stuff I'm sure you can get it down to below 50$.

I seriously doubt this will be the main cost in any server you buy.


Hmm, nice. But i don't think, the physical architecture of high-performance servers allow inserting a graphic-card  :? Anybody knows more ?

Ilama, are you sure with that "only some features of openGL 1.1 ? Look, what i found at mesa3d.org:

- Mesa 5.x supports the OpenGL 1.4 specification.
...
- Software rendering with Mesa serves as a reference for validating the hardware drivers.
- A software implementation of OpenGL is useful for experimentation, such as testing new rendering techniques.
...
- There is no hardware acceleration (standalone mesa without DRI)

Hmm, i'll take that as the answer (correct me if i shouldn't):


Edit: looking at the MESA homepage, they implement a lot more advanced stuff these days. Well you should have done that yourself in the first place of course :P No idea if you'll get it all to work with JOGL or LWJGL


I read the stuff there (off course i did), but coding a program using jme/jlwgl/mesa doesn't sounds trivial to me (even if i am a professional programmer and made some j2se/j2ee, C and php projects). So, i did'nt want to download the libs for the three levels an find out, how getting something to work what maybe does not work even theoretically.  :|

Thanks mojo for jpct, i found that some days ago. It's ok, but naturally, it would be nice to have the jme features (esp. particles, lance flares, shadows in 0.10?..).

(I miss shadows in all the engines but read now, that even jME has to implement it yet)

I don't really get what you want to do, but wouldn't a raytracer be a better option?

If you need something to make very impressive 3d pictures take a look at Povray.

...but wouldn't a raytracer be a better option?


Since i always only need to generate one frame, >frames per second< is not a problem for me, but when it comes to >seconds per frame<, it would be a problem.