PDA

View Full Version : Texturing and rendering



skywalker113
01-02-2011, 05:08 PM
I am creating a spaceship. The hull has about 39400 polys. All of the textures im using are 4000 by 4000 pixels. Theres around 20 surfaces with 4 maps each. A color, normal, and two specular maps.

My problem is understanding a couple things.

1. Test renders can take between 6 minutes, or 6 seconds, with the same settings. Should it vary that much?

2.I am saving all of my textures as photoshop files. So I can tweak them as I need. I noticed photoshop files take up way more space than jpg files. Do photoshop files take more time to render when they are being used as textures?

Thanks!

JonW
01-03-2011, 03:45 PM
Firstly how fast it your computer, http://www.3dspeedmachine.com/?page=3&scene=39

Why don’t you just do a test with jpg images (high quality, 10 etc), & or grey scale images for bump, specular maps etc.

Is your final image that large that you actually need 4k images.

Mr Rid
01-03-2011, 08:01 PM
No, the image format should not be causing drastic render time increases. I wonder if you are running out of ram?

I may use a PSD or other high res format to be able to continue editing a texture in PShop, but I always convert to 256 color (Indexed Color) or greyscale (for images that dont use color) and save out PNGs for LW. This reduces memory usage by 2/3, and scenes load faster.

Keep in mind that if you save out say a compressed JPEG or TGA, it is only compressed on a drive. But when the image is opened in LW or any app, it inflates to take up ram as uncompressed. PNGS save the smallest files without compression loss. But a jpeg or png will still take the same amount of ram within LW as an uncompressed TGA, unless first converted to 256 or greyscale. A PSD may contain layers which will naturally increase file size.

skywalker113
01-07-2011, 03:55 PM
I was able to render the benchmark in 2 min 29s.

Most of the photoshop textures for the ship are taking 21.8 GB in total. Im thinking I should save jpgs of the photoshop files to use as textures in lightwave, which would be alot faster right?

Today I had trouble running layout and modeler at the same time with the starship. When I open modeler then layout I get a message saying system is out of virtual memory. So I could be running out of RAM.

JonW
01-07-2011, 04:03 PM
Once you are ready to render. Change all the view ports to “Bounding box” save scene & then re launch LW. You will free up a stack of ram. & turn off every application you don’t need.

Better still, use Screamernet, then you don’t even have to load the scene, so there will be even more ram available.

Screamernet is great even on 1 computer, everyone thinks it’s only for a render farm, but it’s not.

You really don’t want to be using any virtual ram, render times will go through the roof.

Buy more ram.

Can you reduce the images size be 20% or more if possible & get away with it, any reduction in % will help.

Mr Rid
01-07-2011, 08:57 PM
...Im thinking I should save jpgs of the photoshop files to use as textures in lightwave, which would be alot faster right?...

No. Did you not understand my post?

An uncompressed targa will take up the same ram as a compressed targa, or as a greatly compressed jpeg of the same image. File format compression only affects the file size as it exists when stored on a drive, like a deflated balloon. When you open the image in LW or any app, it exists in an uncompressed state and takes up more space, like an inflated balloon. Compare an image file's size in your explorer window to the same image file's size in LW's Image Editor, and you will see a larger number in LW where it is uncompressed.

I doubt you have 22 gb of ram, so your computer is dipping way into virtual, and renders are slowing down a great deal.

To cut down the uncompressed file sizes, as JonW suggests, you may not need 4k unless rendering very close to the ship. So you might get away with scaling the images down to 2k which will cut the ram usage to about 1/4. Most assume that a half scale image will take up half the memory, but it actually takes up 1/4. For instance, an image display of 1000x1000 will fit four times within an image display of 2000x2000.

But if want to keep 4k textures, as I said you can cut the ram usage down by 2/3... in Photoshop goto 'Image- Mode- Indexed Color- ' and just use:

Local (Adaptive)
256
Black and White
Diffusion
75%

Then save the image as a PNG, which is a lossless compression like TGA, but smaller.

Rarely do you need more than 256 colors in an image map and you probably wont see any difference in the resulting image (view at 'actual pixels'). Subtle color gradients are the only area where there may be an issue and you may have to stick with a 24bit color image.

If the texture image is not applied as a color map, then you may also discard the unused color data... goto- 'Image- Mode- Grayscale- Ok-' to reduce memory.

91620

You can convert many texture images at once in PShop by creating an index/grayscale 'Action'. With all the files in one folder, goto 'File- Automate- Batch', then pick load and save filepaths (use copies in case something goes wacky).

JonW
01-07-2011, 09:49 PM
Could not have put it better myself.


Lets say your render will be 5000 pixels wide. Enough for an A3 print at 300 dpi.

& your ship is 90% of the width of the render. & the images are tiled twice over the length of the hull.:
5000 x 0.9 / 2 = 2250 pixels are all you require for the images.

Even then you could go with less & it won’t really be noticeable. Also you could do the render at 90% or even 80% of the final size & scale it up in Photoshop. It will actually look more photographic with the slight blur you get.

Do you really need 20 surfaces. Maybe some of these are just overkill. If you don’t have 24 gb of ram, something has to go.

Another option, but you still have your image size you have settled on (& x 20 of them but hopefully less by now). Is to render via the Shift camera in smaller sections. It’s a bit tricky to set up but it really works extremely well. You render the whole image in 4 (or any number of sections, just more back of the envelope calculations) separate sections. This reduces the overall ram for the render.

Better still, do a 4 frame animation (1 for each quarter) & render it via Screamernet..... now you should have: Smaller overall size, then 1/4 size frames to render, no scene loaded in LW, & because you save frames to a file no ram is required for Image buffer.



Mr Rid, the 256-colour png is a massive saving of ram! I will also keep a note on that. One does get lazy with a lot of ram!

skywalker113
01-08-2011, 07:02 PM
Thanks for the great help. I dont know much about image formats or computer speed.

I changed all of my textures to indexed color with the settings Mr.Rid mentioned then exported as png.

The ship is 1 km in length, and has 187 surfaces in total.:eek: The largest textures are the main body ones that make up the 20 I mentioned. The rest are smaller details. Turrets, grebbles, ect. Its a very big project I been working on for several months.

I will probebly make different verions of the ship with less detail for farther away shots. Is there a way to reduce the image resolution % in lightwave?

Here is a image of the task manager when the ship is rendering, and the image editor.

Mr Rid
01-08-2011, 09:12 PM
So now if you arrow up and down your images, they should all show a color depth of "8" in the Image Editor (just above the Size), whereas before they were all "24" bit images. A 24 bit image uses 8 bits for Red, 8 bits for Green, and 8 bits for Blue = 24. 8 is 1/3 of 24, so your maps should be taking up 1/3 the amount of memory they were before. Although I see you still have at least 4 jpegs(?).

To further reduce ram usage, you should consider reducing any unnecessarily high map resolutions. Lets say there's a particular, somewhat flat surface on your ship (maybe a panel) that is covered with a 4k color map. If the camera will never be close enough for that surface to take up more than say 100 pixels across in a final 2k render, then a 4k map is extreme overkill. A surface may only need a 4k texture map if it filled a 4k rendered frame. Or if half the total surface filled frame in a 2k render.

I also always optimize geometry to bare minimum. I once worked on a project with an enormous battleship model, but we only ever saw the front and left side of the ship in the final render. Everyone was loading this mammoth model that tediously took minutes to load, each of several times a day. So I carefully deleted most of the polys on the right and rear of the model which saved a huge amount of ram and load time. Modeling was not my job on that but everyone thanked me.

Another time, I had to fill a CG room with RealFlow water and the renders were taking much too long at 12 hours per frame with all the reflection and refraction. The room contained 84 separate pieces of geometry and many surfaces and maps. I save transformed all of it, deleted any polys not seen in camera, and combined it all into one big room object with one surface. Then I just front projection mapped the rgb pass of the room. The render time dropped down to 3 hours per frame and looked identical to the 12 hour per frame render.

I learned to optimize every pixel and poly.

skywalker113
01-11-2011, 09:43 AM
Your advice has been very helpful! Thanks.

Mr Rid
01-11-2011, 03:13 PM
Good deal. There are many ways to optimize to save time that I find few animators understand or practice.

erikals
01-11-2011, 11:03 PM
used successfully a 16000x16000 .iff file in lighwave with 4GB ram
you might be able to use 25000x25000 .iff file in lighwave with 8GB ram

plugin for photoshop located here,
http://www.newtek.com/forums/showthread.php?t=102189

 

JonW
03-05-2011, 03:57 PM
Edit: posted in wrong place!

caesar
04-16-2011, 09:17 AM
I learned to optimize every pixel and poly.

That's why Mr "Rid"?

Anyway, very useful info in this thread, thanks!