Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Research of how to improve SL visual quality

Jimmy Thomson
Bedazzle Team
Join date: 16 Sep 2003
Posts: 50
09-23-2004 19:38
Hi everyone, Im not posting here too much, but today I'd like to share something with the community. Im in SL since more than year and I made few research to improve the visual quality of our world. Actually SL is base on a *very* simplistic lighting system and the result is flat and unrealistic textures.

Here is my solution to integrate light effect and shadow in SL, I'd like to have your critics and comments about my workflow. Feel free to give me your suggestion about how we could improve the visual quality of SL.

Example :
In the 'before' image you can see how my scene look like with the default rendering system of SL. The 'After' image is the exact same scene with the addition of highlight, shadow and decals.


Description :
- Light glow is fake using 2-3 planes with a transparent glow texture.
- Highlight on the wall is added directly in the base texture with a graphics program like Photoshop.
- Shadows are tranparents planes place manually over the surface of the main object.

How to make the base texture :
Here is my process for adding the lighting information to the base texture.


Edited : More examples....

Sim Horror scene (Bar)
Sim Horror scene (Pool Table)

Edited again : See the page 2 for an example of PSD document
Olympia Rebus
Muse of Chaos
Join date: 22 Feb 2004
Posts: 1,831
09-24-2004 08:38
I like your examples and diagrams, Jimmy.

I agree that the current texture, light and shadow display could be better. However, he two problems I see with a more complex system are
  1. More complex rendering would slow down the system
  2. More complex options may intimidate people unfamiliar with texturing and rendering


I suspect we'll see something like what you've shown in future versions of SL. Maybe the default texture window will have an "advanced" button where you could use texture maps for bumps, light, shine and so on.
_____________________
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
09-24-2004 11:17
Jimmy,

These are excellent tips! Thank you for sharing your PS tricks. I think SL is in great need of bringing a more realistic feel to our builds, and there are only a few people who are very good at it.

One of the things I've been playing with to give a build more 'pop' is to use various shades of grey tinting on the texture surfaces. The castle that I'm building in Stillman primary uses 2 textures, but with the shading, I've been able to get a higher level of depth to the build.

Have you considered putting together a tutorial for your PS tips?
Synch Thetan
Full of Cheese
Join date: 26 Feb 2004
Posts: 27
09-24-2004 12:20
This is exactly the kind of thing I was looking for. I'm working on a project and I felt it was lacking the realism you mentioned. This is perfect!
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
09-24-2004 14:04
Very nice texture work Jimmy!
_____________________

My other hobby:
www.live365.com/stations/chip_midnight
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
09-25-2004 11:44
So, using some of Jimmy's suggestions, I created a texture with a light spot on it for some of the walls in my castle. The texture is used on large prims (8x10m) and is set to repeat of 1. Initially, I had some serious problems with the texture going in and out of focus (blurring), and then I found a post with a fix for that: set all faces of the prim to roughly the same repeat values.

After applying those fixes, I'm still getting some blurriness from the large texture, but not the smaller ones which have been repeat values equal to the dimensions of the prim.

I'm saving the textures out as .jpg's. Is there any other trick I should use to ensure the texture is nice and crisp?
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
09-25-2004 13:07
From: someone
Originally posted by Juro Kothari
So, using some of Jimmy's suggestions, I created a texture with a light spot on it for some of the walls in my castle. The texture is used on large prims (8x10m) and is set to repeat of 1. Initially, I had some serious problems with the texture going in and out of focus (blurring), and then I found a post with a fix for that: set all faces of the prim to roughly the same repeat values.

After applying those fixes, I'm still getting some blurriness from the large texture, but not the smaller ones which have been repeat values equal to the dimensions of the prim.

I'm saving the textures out as .jpg's. Is there any other trick I should use to ensure the texture is nice and crisp?


Get more graphics card memory. If the texture has no transparencies in it, be sure to save it in 24bit format.
_____________________
</sarcasm>
Chosen Few
Alpha Channel Slave
Join date: 16 Jan 2004
Posts: 7,496
09-25-2004 15:06
From: someone
Originally posted by Juro Kothari
After applying those fixes, I'm still getting some blurriness from the large texture, but not the smaller ones which have been repeat values equal to the dimensions of the prim.

I've had this problem happen with certain textures. There seem to be just some textures SL does not like for who knows what reason.

I disagree with Mole that this is a hardware issue. If it were, you'd be having this problem all the time, not just with the one texture. Besides, my hardware is absolutely top of the line and I've experienced the exact same problem.

While I can't give you an absolute fix, I can tell you this much:

1. ALWAYS save all your textures as TGA format. TGA is one of the oldest and simplest image formats in existence. TGA reproduction quality is basically flawless, whereas jpeg images lose quality every time they are opened and closed. Also, SL sometimes has trouble uploading Jpegs. Jpeg format should really only ever be used for webpage images.

2. ALWAYS make sure your image size is square and in powers of 2. 512 x 512 is best. 256 x 256 is okay for smaller objects if you don't need much detail, but 512 is ideal in most situations. NEVER go bigger than 512 or rezzing can be problemeatic.

3. If the prim that the texture is to be placed on is not square, still make sure the texture itself is square and use repeat and offset values to show just the portion of the texture you want visible. In other words, if you are using a movie screen shaped prim, make a movie screen shaped texture with extra blank space at the top and bottom so that the canvas is square. Adjust the repeat values so that only the rectangular portion in the middle is showing on the prim.

4. Avoid intense yellow-orange colors. It sounds rediculouis I know, but EVERY time I've had that in-focus/out-of-focus problem, the texture has had bright yellow-orange in it. I can't imagine why it makes a difference; it just does. (And before anyone tries to blame that on hardware or on my imagination, 4 different people experienced the same problem with a few textures I made that had yellow-orange lettering on them. I tried a million different ways to fix it, but nothing worked until I changed the lettering to blue. Strange but true.)

5. If an image has transparency in it, ALWAYS save it as 32 bit TGA. If not, then ALWAYS save as 24 bit TGA.

I hope some of that helps. Beyond that, I'm not sure what to tell you. Good luck. :)
_____________________
.

Land now available for rent in Indigo. Low rates. Quiet, low-lag mainland sim with good neighbors. IM me in-world if you're interested.
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
09-25-2004 18:37
From: someone
Originally posted by Moleculor Satyr
Get more graphics card memory. If the texture has no transparencies in it, be sure to save it in 24bit format.


I can't increase the graphics memory evidentally. It's a work-owned laptop and it's as good as it's gonna get, I guess.

Maybe I should buy another machine.

I've been saving my non-transparent images as .jpg's at the highest quality.
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
09-25-2004 18:40
Thanks Chosen! I'll try some testing with the suggestions you made. I'll post an update of my findings here.
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
09-25-2004 23:52
From: someone
Originally posted by Juro Kothari
I can't increase the graphics memory evidentally. It's a work-owned laptop and it's as good as it's gonna get, I guess.

Maybe I should buy another machine.

I've been saving my non-transparent images as .jpg's at the highest quality.


Theeeeeeeere's your problem. You're not saving as a TGA, AND you're saving it in the largest possible JPG format there is. Blurriness occurs when your graphics card runs out of space and has to decrease the detail level on large textures, or far away ones. It chooses the far away ones first, but textures that are too large go next, as yours is doing.

TGA. 24/bit.
_____________________
</sarcasm>
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
09-26-2004 00:48
what your suggesting is more advanced bump mapping then the client currently supports.

I think with some clever hacking you could hack in your own bump maps.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
09-28-2004 01:44
Very good tips. This is stuff professionals do to save on computing power.
_____________________
Hiro Pendragon
------------------
http://www.involve3d.com - Involve - Metaverse / Emerging Media Studio

Visit my SL blog: http://secondtense.blogspot.com
Damien Fate
Goofy designer
Join date: 6 Nov 2003
Posts: 634
09-28-2004 05:56
Very nice work there, lovely textures and convincing shadows.

I really recommend this technique to anyone who knows what they're doing when it comes to creating and placing textures and thinking 3 dimentionally. I've used this technique before myself and the results really are so much more stunning than what the SL engine can create.
_____________________
Mirada.smartHUD - The new way to control your avatar and the world around you - In Mirada, Hairspray (22,63,51) or find me in world!

You want me to be Semi Serious? Well that's ok, I'm almost half semi serious 50% of the time.
Jack Digeridoo
machinimaniac
Join date: 29 Jul 2003
Posts: 1,170
09-28-2004 06:20
That's great stuff Jimmy :) Thx for the tips
_____________________
If you'll excuse me, it's, it's time to make the world safe for democracy.
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
09-28-2004 06:27
From: someone
Originally posted by Moleculor Satyr
Theeeeeeeere's your problem. You're not saving as a TGA, AND you're saving it in the largest possible JPG format there is. Blurriness occurs when your graphics card runs out of space and has to decrease the detail level on large textures, or far away ones. It chooses the far away ones first, but textures that are too large go next, as yours is doing.

TGA. 24/bit.


JPG at full quality is fine. Everything that gets uploaded gets converted to JPEG2000 by SL anyway, so there's no difference between a full quality jpeg and a 24 bit TGA as far as SL is concerned. The only consideration when deciding between the two formats for non-alpha textures is that jpeg uses lossy compression so if you save it at less than full quality you might get noticeable artifacts from having the texture compressed twice. That isn't a problem with full quality jpegs though. I do all my 24 bit textures as high quality jpegs because they're faster to upload.
_____________________

My other hobby:
www.live365.com/stations/chip_midnight
Jimmy Thomson
Bedazzle Team
Join date: 16 Sep 2003
Posts: 50
09-29-2004 06:22
From: someone
Originally posted by Olympia Rebus
However, he two problems I see with a more complex system are
  1. More complex rendering would slow down the system
  2. More complex options may intimidate people unfamiliar with texturing and rendering


Yes, the addition of lighting and shadow implies to increase the overall complexity of a scene. But if we respect the following rules we can generally avoid a scene to become laggy :
  1. Use smallest texture as possible, avoid 1024x1024 for loading time.
  2. Use only simple prims 95% of the time, avoid the 'hot new' complex prims because they require more calculation and 'tri' for rendering.
  3. Avoid complex particle system, old video card suffer with huge number of sprite.
  4. Use 32 bit texture (alpha channel) only when its neccesary, transparent texture require more memory, processing time and more bandwith than non-transparent texture.


From: someone
Originally posted by Chip Midnight
JPG at full quality is fine.


Agree, jpeg is perfect for non-transparent texture, I use a quality factor of '8' in photoshop and I never get artifact online.

From: someone
Originally posted by Strife Onizuka
what your suggesting is more advanced bump mapping then the client currently supports


Lets be honest, the actual bump mapping system is a joke and almost useless. (IMO) The reasons LL implemented bumb mapping the way it is acutally is to keep the things simple for the new builder, and to avoid more bandwith usage.

With the new generation of video card (DirectX 9), Lindens should reconsider this feature, we need to be able to set independently a map for bummapping, spectacular and normalmap. Of course, they will have to upgrade the engine to support that, but its technically possible.
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
09-29-2004 13:57
After spending a tidy sum of $L's on uploads and playing with different factors and taking into consideration all of the comments here, I've determined that my graphic issues with textures covering large prims with no repeats is my crappy vid card in my laptop.

I'll continue to play with texturing using some of the great points made by those here and will report back with any new ideas/tricks.
Piprrr Godel
Code Wrangler
Join date: 25 Sep 2003
Posts: 54
Variation on the theme?
10-03-2004 10:28
From: someone
Originally posted by Jimmy Thomson
- Light glow is fake using 2-3 planes with a transparent glow texture.
- Highlight on the wall is added directly in the base texture with a graphics program like Photoshop.
- Shadows are tranparents planes place manually over the surface of the main object.


Instead of having two to three additional planes in SL, can't you achieve the same effect by tailor making a texture offline that already has combined those masks and textures, and then using that?
_____________________
I'm taking reality in small doses to build immunity.
CrazyMonkey Feaver
Monkey Guy
Join date: 1 Jul 2003
Posts: 201
hmm
10-03-2004 17:24
It requires alot more work then you prolly think it does. Not making the program able to do it but CPU-wise. Making a light map usually takes minutes to create one for a single level in games like doom, ect. But they would have to be made every minute or so(the sun moves!). not to mention it has to be made for the entire world. I could see if they made the time of day static how it could be done. maybe once a day(late when theres few users) generate a new one to take into account of the changes in the world.

Another thing is who generates the light maps. If the server does then they have to be transmited also. (thats bad).
and if its client side, well.. I would'nt expect many people like playing slide show videogames, lol :)

Great Idea but I dont think the servers could do the job.
I suppose if it were done using client side real-time shadows it could be done, but of course you'd have to expect a pretty big drop in FPS to do it. (dont think many if any can play at such a low FPS).

But.. You can always fake it in an indoor situation. Just make your own light map baked(already added to) into the textures.
Jimmy Thomson
Bedazzle Team
Join date: 16 Sep 2003
Posts: 50
10-06-2004 05:25
From: Piprrr Godel
Instead of having two to three additional planes in SL, can't you achieve the same effect by tailor making a texture offline that already has combined those masks and textures, and then using that?


Exactly what Im suggesting Piprrr, I'm adding details like the lightmap directly into Photoshop to reduce the complexity of the map. How to

However, I decided to use additionnals prims to create the shadows instead of puting directly in the main texture, for many reasons. Here is 2 new examples of my experimentation :

Sim Horor scene (Pool Table)
Sim Horor scene (Bar)
Piprrr Godel
Code Wrangler
Join date: 25 Sep 2003
Posts: 54
10-06-2004 21:42
From: Jimmy Thomson

However, I decided to use additionnals prims to create the shadows instead of puting directly in the main texture, for many reasons.



What are some of the reasons for using additional prims instead of using one prim and creating the textures offline?

BTW, where is this located? I'd like to visit your site in SL.
_____________________
I'm taking reality in small doses to build immunity.
Jimmy Thomson
Bedazzle Team
Join date: 16 Sep 2003
Posts: 50
10-07-2004 07:06
From: Piprrr Godel
What are some of the reasons for using additional prims instead of using one prim and creating the textures offline?


After many experimentation I decided to integrate the highlight created by light source and the other details directly into my texture, so a wall section is basically only one prims with a complex texture. The link 'how to' explain how I do this job inside Photoshop.

For the shadows projected from an object to another object I use a plane (planar cube) instead of adding the shadow directly on the destination object (the one who receive the shadow). The reason is I can't predict (when Im making my texture in PS) the effect of the others objects projected shadow. Also, integrating the shadow in the base texture of an object mean that I'd be unable to reuse this object in a different context, shadow will be 'freze'.

From: Piprrr Godel
BTW, where is this located? I'd like to visit your site in SL.


The image presented in this thread is from a incomming project called 'Sim Horror', we plan to open the island during the weekend. The acess is restricted for now, but send me an IM ingame and I'll show you this room.
Piprrr Godel
Code Wrangler
Join date: 25 Sep 2003
Posts: 54
10-07-2004 13:28
From: Jimmy Thomson
After many experimentation I decided to integrate the highlight created by light source and the other details directly into my texture, so a wall section is basically only one prims with a complex texture.


Ok, I've basically started doing the same thing for my project. So far, though, I've only managed to add some dirt to a concrete texture. Even that trivial alteration went a long ways to improving the appearance of my building.

(I had to spend $10 on buying some dirt texture masks, though, since I was having a hard time creating my own.)

From: someone
For the shadows projected from an object to another object I use a plane (planar cube) instead of adding the shadow directly on the destination object (the one who receive the shadow). The reason is I can't predict (when Im making my texture in PS) the effect of the others objects projected shadow. Also, integrating the shadow in the base texture of an object mean that I'd be unable to reuse this object in a different context, shadow will be 'freze'.


Ok, that makes sense. I was thinking about doing that with my dirt textures, too, since then I'd be able to reuse the same mask on many different textures online and I could easily tailor the dirt to the underlying prim. (Well, easier than second guessing offline in the Gimp, to only discover it doesn't work after spending 10L to upload the new texture.)

From: someone
The image presented in this thread is from a incomming project called 'Sim Horror'


I look forward to visiting it!
_____________________
I'm taking reality in small doses to build immunity.
Jimmy Thomson
Bedazzle Team
Join date: 16 Sep 2003
Posts: 50
10-11-2004 08:03
For the record, here is a link to the photo gallery of the work made using this theory :

Sim Horror Photo Gallery
_____________________
Jimmy Thomson
Bedazzle Team
http://bedazzle.grfx.at/
1 2