View Full Version : MIILION POLYGONS and LIGHTWAVE...
Gregg "T.Rex"
05-27-2004, 09:42 AM
Hello...
Does anyone know how one can render more than 4 million polygons in Lightwave? I have 4 gigs of RAM and LW easily runs out of memory with that poly count, trying to fit them all in memory. What's the use of hard disk swap files then?
I want to render about 50 million polygons, in the form of 10 high detailed characters. All showing in a 2K rez frame and close enough to see everything. HD Instance can't help here since each character has totaly different look and animation. Even a single character during render is exceded the 4 million poly count LW have...
Thanks,
___________________
Gregg "T.Rex" Glezakos
3D Artist
Lynx3d
05-27-2004, 10:32 AM
Uhm i don't believe it's the polys themselves needing that much RAM...
montrous texture and shadow maps by any chance?
4 million doesn't really sound much...unless you mean before subdividing which would be totally overkill IMHO :)
(even if some renderers like Brazil demostrated that hundreds of billions are possible, but that was a scene with instances of ~3.5 million poly objects)
Well with 4GB of RAM in a 32bit system and a single application the swapfile actually is no use at all ;)
Because the maximum address space is 4GB, with 2GB for the application, or 3GB in case of Win XP and the boot switch to enable it.
Actually 2(3)GB minus some wasted space for loaded dlls.
bloontz
05-27-2004, 12:20 PM
Did you try lowering the segment memory limit?
I rendered without any problem a scene with 4.5 millions polygon
with 1Gb of ram. (1 raytrace light and 1 spot light 8000size) (and 5400*3600 pixels) (as a test)
how much memory are you textures taking ?
how many shadow map do you have, if any, what buffer size did you give them ?
I really really don't think you will be able to render 50 Millions polygons in 1 scene.
even if you could, your system (any system) could not display it.
LW doesn't put a lot of temporary files on the hard drive so what's important
right now is the amount of memory.
I hope they will fix that soon...
if you have huge textures, don't forget to change your textures in thousands colors, or even 8bit sometimes, you will save a LOT of memory doing that.
you have to put each character in different scene and compose them.
cool t-rex you have
Lynx3d
05-27-2004, 02:53 PM
Holy crap...
@jmnewtek: did you test with SubD objects or "regular" polygonal meshes?
I just tested with a SubD character and bloated it to ~5Mio polys by upping the Render SubPatch Level to 30, and *boom* 1.5GB memory usage, already when "updating geometry" appeared, so even before the "optimizing..." comes :eek:
That's pretty insane for a scene with no shadowmaps or texture maps at all!
since i only have 1GB RAM the HD of course got some heavy load that had a short brake when optimizing and came back on rendering...but it did render, pretty sloooow and not healthy for any HD :)
(LW 7.5C btw.)
The Brazil demos sounds a lot more implressive somehow...
http://www.splutterfish.com/sf/sf_gen_page.php3?page=Tech/Instancing/BrazillionPolys&printer=1
Extent
05-27-2004, 04:33 PM
A couple years ago I rendered a 2.1 million poly scene w/ only 512 meg of ram ( tho only at video rez) no problem, that' was w/ LW6. I've got another scene I've been playing with more recently w/ closer to 3 mil polys and that seems to take anywhere from 800 to 1.1 gig of ram, depending on if I'm rendering or not.
Your best option is probably to composite them, that's my opinion.
I'ld love to see a screenshot of one of these 4mil poly characters too *Wink wink**Nudge nudge*:D
Gregg "T.Rex"
05-27-2004, 06:53 PM
Right now, we're in pre-production and lot's of R&D take place. I can't show anything yet, but eventualy i will...
There's lot of displacement take place, hence the large poly count. I realy can't render even one character at a time, for later compositing work, with this poly count during rendering.
The cage models are about 35K to 40K polygons. It's their subdivision level during rendering that boost them to more than 4 million polygons.
We want the high subdivision render levels, for ultra fine displacement maps. I'm afraid the only vital solution at this time is to switch to Maya and MR or Turtle and use their sub-pixel displacement, instead of raw "LW's way" displacement...
Thanks,
lynx,
I don't think I ever made just 1 single object with 4 millions faces,
I meant it was the overall scene which was 4.5 millions..
I just copied some high polys trees around.
I remember one time I had a 500 000 polygons object and it took
few seconds to "optimize".. I can't imagine how much it would take to optimize a single 5 million object..
I was testing to see how much polygons I could use in a scene
at work knowing I would have to render it at 5400*3600 on a 1Gb computer.
also, about Hardrive temp files, LW will use the virtual memory
but not a lot...
right now you can render a scene which require 1.5Gb of ram
on a 1Gb ram machine,
but I don't think you will be able to render a scene which require
5 Gb on a 1 Gb machine (even if you have200Gb of HD space)
if newtek could fix that, that would help me and a LOT of people
I think..
I saw the link to brazil and yeah it does sound good !
only for max, right ?
hopefully Newtek will fix that.
(also spot lights with shadow maps which are checked OFF in the scene editor WILL take memory in the frame buffer)
(important when using a lot of large shadow maps you turn on and off for different views..)
Lynx3d
05-28-2004, 03:57 AM
Hm 3.2 million polys from cloned poly objects took only 678MB at 640x480, 1 segment. Must be the SubD or the fact that it's one large object that brings LW to the knees.
And Newtek can't fix that out of memory in any easy way. The easy way is make the system, the OS and LW 64bit. As i tried to point out 32bit machines are limited to 4GB of total address space, with ~2GB usable for Lightwave!
It doesn't matter how much physical RAM or HD space the machine has, it's a limit of 32bit addressing.
You'd have to write your own temp-files and free the memory but that would be a LOT of effort and even slower than paging.
Photoshop does use such techniques AFAIK, but it's a lot easier for image manipulation...
The better solution would be trying too keep memory requirements low, like Brazil (yes, unfortunately Max only) seems to do quite effective.
@Gregg: Is your machine a PC or Mac?
I wonder if a G5 user running Panther could render it, from what i read 32bit programs under Panther get a whole 4GB memory space. That would roughly double the limit.
trick
05-28-2004, 04:42 AM
Originally posted by Gregg "T.Rex"
... We want the high subdivision render levels, for ultra fine displacement maps....
Unless you're zooming in on the eyelashes I would suggest to look into Microwave (http://www.evs3d.com/mw_intro.html) . For ONLY character work these poly-levels are insane: there are lots of ways to optimize. If you absolutely need these kind of levels you'll have to resort to Mental Ray, Brazil , Renderman or Vray...
Gregg "T.Rex"
05-28-2004, 09:34 AM
Originally posted by trick
If you absolutely need these kind of levels you'll have to resort to Mental Ray, Brazil , Renderman or Vray...
Yes, probably we'll switch to Maya and Turtle for these renderings....
Thanks,
to linx3d
I don't think it's only a 32bit-64bit problem,
lots of other applications which are 32bits can render a lot more polygons
at a lot higher resolutions without problems.
and doesn't require gigs of ram.
128Mb of ram is cheap but 2,4,6 or 8 Gb of ram is very far from being cheap
it's how LW use memory which first need to be fix. 32bit or 64bit.
Lynx3d
05-28-2004, 10:24 AM
Agreed, that's what i meant with
The better solution would be trying too keep memory requirements low, like Brazil (yes, unfortunately Max only) seems to do quite effective.
Before doing some expensive memory management enhancement they should just try to require less memory for the same scene complexity. But it's just too easy hitting the 2GB/3GB barrier these days with many things...not always due to inefficient coding :)
pixelinfected
06-04-2004, 03:53 AM
a solution whidh i use some times ago is
prepare the scene
use a free plugin to save transformed character for every frame (that freeze character for all frame and save a obj sequence)
use qemmloss 3 of marvin landis to reduce obj (it respect uv, weight and more
than use obj replacement plugin to load for all frame your obj and render.
if you freeze your character you can avoid a lot of memory wasted from subdiv, and freezed for every frame mantain your deformation, then optimized a bit from qemmloss3 you have a bit less poly, there is a scriptable version of plugin.
i hope that help you.
solution 2, render one character at time and compose in post.
solution 3, reduce character poly and use normal map to render that.
have a nice day.
Roundpixel
06-04-2004, 05:27 AM
Wouldn´t a Normal Displacement help by introducing mapped detail in a less subdivided mesh?
Normal Displacement (http://lynx.aspect-design.de/plugins/normal_displace_info.htm)
Wouldn´t this greatly reduce memory requirements?
I´m asking because i still had no time to do a tuff test myself with Lynx´s new plugin.
cheers
JC
Lynx3d
06-04-2004, 05:55 AM
No, my plugin actually increases memory requirements...
It can only displace geometry that is already there, and since LWs mesh info is not that great for massive lookups i cache the geometry...
I will try to reduce the memory requirements, but it will never save you memory. Currently it uses just a stripped down version of the scene-scan SDK sample...
When i get a grip on the custom polygon handlers i'll ask my friend about teaching me some micro-triangle displacement...but that has to wait at least to the end of this semester which is August.
Roundpixel
06-04-2004, 06:04 AM
I´m sad to hear that, but the other thing you say about micro poly displacement sounds pretty nice. :D
waiting, waiting
cheers
and many thanks for your nice plugins, they will prove useful for many upcomung projects.
JC
Roundpixel
06-04-2004, 06:06 AM
Originally posted by Roundpixel
I.....
and many thanks for your nice plugins, they will prove useful for many upcomung projects.
JC
Whatever an "upcomung" project is...:rolleyes:
sorry, upcoming should fit better ...
JC
pixelinfected
06-04-2004, 07:13 AM
this new plug work better than original, but problem is in lw render tree, when it load memory for every point of subdivided mesh, and calculate the motion for every point, memory necessary grow fast. if you try a render witha subdivided mesh, and same but freezed mesh, you see less memory necessary for second than first, be cause posiotn of point is a fixed array, instead of first where subdivision build points array at time of render.
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.