SL project news week 6 (2): server deployment updates

Server Deployments – Week 6

The planned server deployments for week 6 occurred as anticipated:

  • On Tuesday 5th February, the Main channel received the server maintenance project deployed to LeTigre in week 5. This has miscellaneous minor bug fixes and new features – release notes
  • On Wednesday 6th February, the RC channels received the following:
    • BlueSteel: code for materials processing (project viewer still pending) – release notes
    • LeTigre: a new maint-server project to fix miscellaneous crash modes, and with minor performance improvements – release notes
    • Magnum: interest list code update to specifically address the bot / bandwidth problem reported on in last week’s update and also support for materials processing – release notes

Server Deployments – week 7

There is no advanced news on potential deployment for the week commencing Monday 11th February, 2013.

SL Viewer Updates

The beta viewer was updated on February 6th with the release of 3.4.5.270034. Please refer to the release notes for details of all changes and updates. The CHUI project development viewer also updated to 3.4.6.270114 on February 6th.

Updates – Issues and Other Bits

Bot / Bandwidth Issues

Speaking at the Server Beta user group meeting on Thursday February 7th, Maestro Linden indicated the ongoing bot / bandwidth issue related to the interest list code and as pointed to by Latif Khalifa and confirmed by Andrew Linden (reported in more detail here), appears to have been resolved. Commenting on the bug fix in the server deployment thread, Triple Peccable, who was one of those being badly impacted by the problem, comments:

Maestro and Andrew,

I wanted to report on the bot’s usage. Fixed!

Before this incident the bot’s “normal” usage was 5 MB / hr. That is so normal no one would suspect anything.

But now it is 1 MB / hr! It has never been that low before, ever.

The improvement might be from the interest list changes, but since the bot is parked 3300m up with a very limited draw distance, I think it is from this UDP bug fix, and will help with more than just bots. :smileyhappy:.

Estate Ban Issues

Two issues have been reported in relation to estate bans recently.

One is the use of LSL commands for estate moderation, as mentioned in the second part of my report for week 5. While it is not clear how widespread the issue is (the reports received so far appear to relate to four regions), it had been hoped that the code deployment to LeTigre might have fixed the problem, but tests with an affected region move to LeTigre showed this was not the case. However, Maestro Linden believes LL may have a match between the issue and a bug that was filed internally after  crash report fingerprints were browsed, so investigations are liable to continue.

In the second, Whirly Fizzle has reported an issue with the “GTFO” ban feature in Phoenix. While this adds the banned individual’s name to the banlist for an estate, the individual isn’t actually barred from accessing the estate. As such, it is thought that this issue might contribute to recent problems in people apparently circumventing estate bans, and is something which will not be rectified by the estate ban improvements currently being deployed by LL, as it is an issue within the Phoenix viewer code itself.

Region Crashes on Restarts

In addition to the restart performance issues related to physics memory use previously reported and updated in part 1 of this report, some regions are experiencing issues with the physics engine during a restart, with all scripting capabilities being disabled as the physics engine is overloaded. Scripting must then be re-enabled by the region owner / estate managers. A fix for this is being worked on, and should be available soon.

Vanishing Regions

Following the week 5 deployments, Alvid Majestic contacted me concerning issues with regions diagonally opposite Brocade, on the Mainland, failing to render in the viewer’s world view, and would not render until such time as a person moved into one of the regions immediately adjacent to it / moved into it.

Missing regions: Mullein and (beyond it) Ear fail to render from Brocade, which sits diagonally opposite them
Missing regions: Mullein and (beyond it) Ear fail to render from Brocade, which sits diagonally opposite them

This is not a new issue, having previously been reported in SVC-8130, although there was some confusion as to whether or not it had been resolved. Commenting on it in general at the Server Beta User Group meeting, Maestro Linden informed me, “It’s somewhat rare, but it was never officially fixed.”  As the JIRA is closed to comment, Shug Maitland has raised a forum thread on matter, so if you are witnessing the same issue on an ongoing basis, consider adding your comments there as well as raising reports.

Region Crossings

There has been mixed feedback to the results of the deployment of the new region crossing code across Agni.

Regular commentator on this blog, Wolf Baginski Bearsfoot has put together a report on his findings in the SL Server sub-forum, which builds on his initial impressions posted in this blog.

Some feedback given through the User Groups suggest that in some instances region crossings – such as with sailing – are improved, and at the Simulator User Group meeting on Tuesday 5th February, Simon Linden indicated LL were seeing fewer instances of stuck teleports.However, there have also been reports passed through the Server Beta group of automated cars on the Mainland encountering problems at region crossings while following Linden Roads and piling-up at the boundaries of regions such as Furness to Ravenglass, although instances appear to have calmed down. More updates on this as they come.

Lumiya: mesh, rlv and more

lumiya-logoLumiya has gone through a series of updates recently, cycling rapidly through versions 2.4.0 and 2.4.1 (the latter to fix an OpenSim teleport issue) on January 31st, and arriving at 2.4.2 on February 4th to fix some issues with mesh clothing uncovered by yours truly.

These releases see Lumiya introduces key features users have been waiting for, and start paving the way for future SL support. Taken together, the core updates comprise:

  • Support for mesh objects and clothing
  • Support for RLV
  • Support for server-side baking

Mesh Support

Mesh support works well with in-world objects, as the following image demonstrates.

A partial mesh house rendered in Lumiya (l) and a mesh enabled viewer (r). The inset images shows the hows as rendered in a non-mesh viewer
A partial mesh house rendered in Lumiya (l) and a mesh enabled viewer (r). The inset images shows the hows as rendered in a non-mesh viewer

Mesh clothing was a little more problematic with the initial 2.4.0 / 2.4.1 release, for both rigged and non-rigged mesh clothing. While some would render correctly, other items would not, exhibiting issues with arms and / or legs, and even rendering as  being worn back-to-front.

Mesh rendering in Lumiya 2.4.0 / 2.4.1. sometimes things went a little ka-ka...
Mesh rendering in Lumiya 2.4.0 / 2.4.1. sometimes things went a little ka-ka…

The issue appeared to be with how the SL software treats both rigged and unrigged mesh. I’m not a technical expert (as most know), but was able to carry out a series of tests which gave Alina Lyvette, Lumiya’s developer, a start on carrying out her own investigations which resulted in her fixing the issue – hence version 2.4.2 appearing.

With the latest release, it appears the majority of problems have been solved, although there have been some reports of mesh attachments such as hair still failing to render correctly.

Certainly from my perspective, and while I admittedly have what is a far less than extensive mesh clothing wardrobe, the issues which all gave me problems while using the 2.4.0 and the 2.4.1 releases of Lumiya all now appear to be resolved, and my mesh clothing now all renders correctly for me, and I’ve had no problems with the likes of mesh footwear so far.

One side effect of this is that the mesh support has slightly impacted the positioning of avatar attachments with Lumiya. Alina has had suspicions that there might be a problem with attachments and the avatar skeleton which may affect Lumiya, and now the issue has been confirmed, it’s on her list of things to update.

The magic of mesh in Lumia: a rigged mesh catsuit in Lumiya (l) and a regular viewer (r)
The magic of mesh in Lumia: a rigged mesh catsuit in Lumiya (l) and a regular viewer (r)

A new setting is also provided within Lumiya for users to define the quality of mesh rendering on their device  – useful if using an older, less capable GPU. The options can be found under 3D View on the Settings menu (device menu key > Settings), and comprise five settings: High Quality, Medium Quality, Low Quality, Lowest Quality and Disabled.

RLV Support

Lumiya, from version 2.4.0 onward, provides RLV / RLVa support. As with a traditional viewer, RLV must be explicitly enabled by the user via the Settings menu (device menu > Settings > Tap RLV enabled to check and turn on). Also, as with a traditional viewer, a restart is required once RLV has been enabled the first time.

Once enabled, behaviours are as seen with an RLV-enabled viewer: locked items are non-detachable; restricted options are removed from menu options; movement restrictions enforced etc.

RLV in Lumiya: in the left two images, the 3D world view Settings menu showing how active RLV restrictions remove options (Inventory, Minimap) from that menu. On the right, two images showing the removal of the Detach option from the object menu for an RLV "locked" item
RLV in Lumiya: in the left two images, the 3D world view Settings menu showing how active RLV restrictions remove options (Inventory, Minimap) from that menu. On the right, two images showing the removal of the Detach option from the object menu for an item “locked” via RLV

RLV Support Notes

  • As Lumiya does not currently support particle rendering in the 3D view, chain links, etc., will not be rendered
  • Similarly, because Lumiya does not currently support windlight, any windlight controls / restrictions related to RLV will no be applied to the in-world view
  • There is currently no #RLV shared folder support
  • Disabling RLV in Lumiya will turn the functionality off without a need to re-log (all restrictions on detachment, menu options, etc., will be lifted).

Server-side Baking

Lumiya now provides support for Server-side baking (SSB, also referred to as avatar baking), and so is ready from when the new service is deployed to the main grid.

While there is a test area for SSB on Aditi (the Beta grid), I have encountered issues with logging-in to that grid using Lumiiya, and so have been unable to test and obtain images for this review.

Other Updates

Additionally. versions 2.4.0 through 2.4.2 add the following to Lumiya:

  • Avatar direction indicator added to Mini-map (a small arrow is displayed over your avatar, indicating the direction it is facing)
  • Animation requests are no longer auto-accepted
  • Fixed display of outfit folders in inventory
  • Fixed duplicate messages in chat
  • Fixed inventory appearing empty after teleport
  • Fixed broken teleports on OpenSim grids.

Feedback

Another series of updates which see Lumiya move even closer to matching viewer-based capabilities, making it even more a genuine alternative for those on mobile / tablet devices who wish to access Second Life / OpenSim while on the move. Both mesh rendering and RLV support are liable to be popular additions, and the server-side baking should stand it in good stead for upcoming changes to Second Life.

For those using an Android device, there simply isn’t a better means of access your virtual world.

Related Links

SL project news week 6 (1): servers, viewer, materials

Deployments for Week 6

A full set of deployments on the channels this week.

On Tuesday 5th February, the Main channel received the server maintenance project deployed to LeTigre in week 5. This has miscellaneous minor bug fixes and new features – release notes.

On Wednesday 6th February, the Release candidate channels should receive the following:

  • BlueSteel should receive code for materials processing. There is still no project viewer publicly available for this project. When one becomes available, notices will be posted on the Project Viewer page, the Tools and Technology Blog, and STORM-1905release notes
  • LeTigre should receive a new maint-server project to fix miscellaneous crash modes, and which  offers minor performance improvements – release notes
  • Magnum should receive an update to the interest list code and support for materials processing. The interest list update should specifically address the bot / bandwidth problem reported on in last week’s updaterelease notes

As ever, a forum thread has been created for the discussion of the deployment packages, or any issues arising therefrom.

In late 2012 some regions (noticeably Homesteads) starting experiencing issues related to their physics memory. Investigations by Simon Linden revealed that part of the problem lay with these regions experiencing repeated navmesh rebakes, with each rebake consuming server memory with the result that multiple rebakes were leaving regions in need of a restart. Simon also confirmed that not all of the triggers generating a request appear to be linked to the actual need for a rebake (altering some estate / parcel settings can trigger a request, for example), and developed a fix for the issue. Simon believes this fix will be promoted to a Release Channel this week, although it is absent by name and description from the release notes at present.

Viewer News

Viewer releases are again unblocked, with further development viewer (incl. CHUI) made at the end of the week 5. Currently, CHUI looks to be the next project in line to be merged to the 3.4.5 code (with the project version already merged to the viewer-dev 3.4.6 code). This could make CHUI the first of the current projects affecting the viewer to reach a beta viewer release, but the timescales and order are far from definitive at this point – so it is possible CHUI may still be delayed in reaching the 3.4.5 beta code.

Materials Processing

Further to the week 4 update, it now appears scripting support may become available with  materials processing, although a) it will not be in the initial release; b) there appear to be considerable concerns on the Lab’s side of things as to the potential impact. Speaking at the Server Beta meeting on Thursday 31st January, Maestro Linden said the option for scripted control of normal and specular maps had been removed from the original proposal out of concern for it being exploited and used to thrash the server and rendering pipeline.

Speaking at the Content Creation User Group meeting on Monday 5th February, Geenz Spad, who co-authored the original proposal and who is working on the viewer side of the project, struck a more conciliatory tone. While confirming script support will not be available for normal and specular maps, he commented that this is in part because normal and specular maps don’t “plug into” existing means to manipulate diffuse (texture) maps using scripts. He went on, “I’m not saying no one would add scripting for the *new* parameters. Just that it won’t make it as part of the first release; think of it as a ‘we didn’t have time’ sort of thing.”  Whether or not support for scripted control of normal and specular maps remains to be seen, commenting on the matter, Nyx Linden said, “That would be a feature request to submit after the first release :),” – so it is likely the Lab will see what the demand is like prior to committing to anything, one way or the other, again allowing for the network / rendering concerns which have been voiced on their side.

In terms of animating normal and specular maps, Geenz confirmed that all current methods of animating textures will work with the additional maps, which I had more-or-less confirmed through my own rough tests, as reported in my sneak peek at the (then) latest version of the pre-release materials viewer.

Back in week 3, I discussed the fact that normal and specular maps require a viewer to be running in deferred mode (“Lighting and Shadows” in the Advanced options of the Graphic tab in v3-based viewers) in order for their effects to be seen, and gave a short overview how deferred can be used without actually having to have shadows enabled. This post was followed by a short discussion on possibly renaming the option to something more obvious to users.

Well, it appears that someone is a few steps ahead of things on this. In the most recent versions of the pre-release materials viewer, Lighting and Shadows is renamed to “Advance Lighting Model”.

Materials processing: the option formerly known as "Lighting and Shadows" - soon to appear in a project viewer Materials processing: the option formerly known as “Lighting and Shadows” – soon to appear in a project viewer

It’s still a little bit of a mouthful, but it may help when it comes to explaining how materials processing works. As it stands a project viewer for materials might be available by the end of week 6.

Other Items

What’s in a Name?

Those who make  full permission items intended for use by other creators as a part of their products can often face a frustrating problem: finding themselves in receipt of a call for assistance about the items in which their products have been used – as it is their name recorded in the Creator field, rather than the name of the person who made the item itself.

While this can be negated in some degree, results aren’t always perfect, and requires no small amount of fiddling around when it comes to full perm mesh items. This being the case, there was some discussion at the Content Creation user Group Meeting on Monday 5th February as to how the situation might be improved through the introduction of an additional field which could sit alongside the Creator and Owner fields and  which would identify the person who utilised a full permission mesh in their own work as well as the maker of the mesh itself – so that support questions could then be addressed to that person. One suggestion has even been to call the new field “Support”.

However, such a change could have wide-ranging impact, both in the viewer and server, making it a potentially complex matter to implement. During the Content Creation meeting on Tuesday February 4th, it was clear that there were several views on the subject of how to handle things, as well as some discussion on the complexities of actually implementing it.

Commenting on the matter, Nyx Linden requested that if a consensus view can be reached on the matter – or if people do feel it is a pressing matter which needs more consideration / discussion – that it should be raised as a feature request on the JIRA (i.e. file a bug report, but put “Feature Request” in the title / subject), so that it is at least on the Linden radar.

Viewer release summary 2013: week 5

This summary is published every Monday and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:

  • It is based on my Viewer Round-up Page, a list of  all Second Life viewers and clients that are in popular use (and of which I am aware) and which are recognised as adhering to the TPV Policy
  • By its nature, this summary will always be in arrears
  • The Viewer Round-up Page is updated as soon as I’m aware of any releases / changes to viewers & clients, and should be referred to for more up-to-date information as the week progresses
  • The Viewer Round-up Page also includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog.  

Updates for the week ending: 3 February, 2013

The major news for the week is that the Zen viewer has officially ceased development and has been delisted from the SL Third-party viewer directory at the developer’s request and all repositories removed from public access. The reason for this is unknown at the time of going to print with this summary.

  • SL Viewer updates:
      • Beta version rolled to  3.4.5.269698 on Janunary 31st –  release notes
      • Development rolled to 3.4.6.269703 on January 30th
      • Mesh deformer project viewer rolled to 3.4.4.268558 on January 29th – core updates: code merged to 3.4.4 codebase
      • Sunshine viewer (avatar baking (SSB)) rolled to 3.4.5.269555 on January 30th – wiki page
      • CHUI development viewer rolled to 3.4.6.269797 on January 30th and then 3.4.6.269877 on February 1st
  • Dolphin rolled to 3.4.12.27293 on February 3rd – core updates: source up-to-date with latest LL development viewer code – release notes
  • Cool VL updates – three versions for the time being, all updated on February 2nd:
    • Stable version: 1.26.6.8
    • Legacy version: (v2.6 renderer) rolled to 1.26.4.51
    • Experimental: 1.26.7.8
    • Release notes
  • Lumiya released version 2.4.1 on January 31st – core update: mesh object support; some mesh clothing support; RLV support; server-side baking (SSB) support; fixes and tweaks – release notes

Discontinued Viewers

  • Phoenix officially reached end-of-line for SL on December 31st – read more here
  • Zen viewer was withdrawn from the SL TPV directory and all repositories shutdown on January 27th, 2013.

Related Links

SL project news week 5 (2): servers, issues, viewer, SSB, deformer

Server Deployments week 5

On Tuesday 29th January, the Main channel received the threaded region crossing code previously deployed to BlueSteel and LeTigre in week 4release notes.

On Wednesday 29th January, the following updates were deployed to the Release Candidate channels:

  • BlueSteel received the server-side materials processing code – release notes
  • LeTigre received the maint-server project originally deployed to Magnum in week 3. This deployment includes the bug fix for the places / search indexing issue which occurred following the original deployment of the code to Magnum – release notes
  • Magnum received a further update to the interest list code deployed in week 4, with fixes intended to deal with issues of high packet lossrelease notes.

Reported Issues

Main Channel

A number of initial problems were reported  in the forum discussion thread, Several of which  appeared to be related to initial region caching / capabilities problems which lead to some strange initial experiences for users, ranging from teleport failures / potential viewer crashes on region crossings (physical or teleport) and  out-of-range controlled flight (i.e. avatars could continue to fly under full control when apparently at coordinates well outside the region (e.g. 320, 128, 75). These issues seem to cease once regions were correctly caching following a (protracted) restart period.

There were also some reports in the forum discussion thread that use of the estate tools to eject / teleport home / ban an avatar can lead to a region cross. However, as the reports appear to be the same / similar to previously filed SEC JIRA (SEC-1215 and SEC-1204, neither of which are open to public viewing), and may be an isolated series of incidents (others are not reporting the same problems, so they have not been repro’d outside of the affected region), there is a reluctance within LL to attribute them directly to the region crossing code.

Magnum RC (Interest List Code)

The Interest List Code problem relates to the use of bots. Originally, it had been hoped that one of the fixes deployed this week would correct the issue; however this has not entirely been the case.

Following further investigation by Latif Khalifa and Andrew Linden, an explanation of the problem is provided in the deployment forum thread. The issue has its routes in the fact that the Second Life UDP protocol requires an acknowledgement (or “ACK”) for all messages sent to the viewer. However, rather than sending a distinct “message received” back to the server for each packet received, certain types of bot append the acknowledgement to other outgoing messages. A bug in the interest list code means these appended ACKs aren’t read. This results in original data been regarded as a packet loss, so it is repeatedly re-sent to the viewer controlling the bot, leading to the huge increases of bandwidth which have been witnessed. Andrew is currently working on a fix for this issue.

Deployments for Week 6

There is currently no clear news on deployment plans for the week commencing Monday 4th February. Currently, it appears that the main-server release re-deployed to LeTigre will most likely be promoted to the Main channel.

SL Viewer Updates

Issues relating to the beta viewer 3.4.5 code have been resolved, and an updated beta viewer (3.4.5.269698), was released on Thursday January 31st – see the release notes for updates. Also released on the 31st was a new version of the CHUI development viewer, 2.4.6.269797. The SL development viewer rolled to 3.4.6.703 on Wednesday January 30th.

An interesting issue has been noted recently by those using multiple versions of the SL viewer. When swapping between more recent versions of the SL development viewer and older versions of the code base, toolbar buttons can vanish from the viewer’s UI. The exact cause is unclear, and the problem appears intermittent (I’ve personally only encountered it once jumping between project and release versions of the viewer).

Mesh Deformer Project Viewer

Sovereign Engineer assisted with code merges for the parametric deformer project viewer with the result that the code is now merged-up to the 3.4.4 codebase with the latest release of the mesh project viewer (3.4.4.269558) on January 29th. There are apparently no functional changes to the deformer itself.

The updated shape selection options for mesh clothing and human shapes in the mesh upload floater
The mesh deformer project viewer has now been merged-up to the 3.4.4 viewer codebase. There are apparently no updates to the deformer itself with this release

This removes one of the three bottlenecks to the project as noted in the first part of this week’s reports. However, the issue of internal resources at the Lab remains a problem, although Oz Linden is attempting to address this and there may be further news in week 6.

Continue reading “SL project news week 5 (2): servers, issues, viewer, SSB, deformer”

Materials processing – more sneak peeks

The server-side materials code reached the main grid in week 5, with a deployment to the BlueSteel Release Candidate channel. As stated in my project report marking the deployment, the code will not be usable until there are suitable viewers on the grid which can utilise it, and they have yet to be released.

As it stands, viewer-side work is progressing, and it is likely that a project viewer will be made available in the near future, although time frames are still a little hard to determine. Commenting on possible viewer availability on Wednesday January 30th, Geenz Spad, lead developer for the viewer, stated, “At this point, it’s hard to say; the majority of the rendering bits are finished at this point. The UI’s there, but needs a bit of polish; so all in all I’d say a public testing version should be out really soon.”

During the conversation, Geenz provided further preview pictures to those in attendance, some of which are reproduced here.

Materials in action: a prim with a texture (diffuse map) and normal map applied (courtesy of Geenz Spad) - click to enlarge and see in detail
Materials in action: a prim with a texture (diffuse map) and normal map applied (courtesy of Geenz Spad)

Viewer UI

In week 4 I was able to provide a quick look at the changes to the Build floater’s Texture tab which are directly relevant to materials processing. Since then, the developer leading this work, Tonya Souther, has progressed the tab to a point where it is close to finished. In particular, pickers have been added to the normal and specular map options, and the diffuse (texture) option now has a drop-down for the alpha mode selection, also as discussed in a previous project report.

Materils Build floater Texture tab revisions (31-01-13): The diffuse (texture) option, showing the Alpha mode drop-down options (l); the normal map options, with map picker and default texture list drop-down (c); the specular map options, in which the Use texture drop-down displays the familiar low, medium & high shiny options (r)
Materials Build floater Texture tab revisions (31-01-13): The diffuse (texture) option, showing the Alpha mode drop-down options (l); the normal map options, with map picker and default texture list drop-down (c); the specular map options, in which the Use texture drop-down displays the familiar low, medium & high shiny options (r). Materials can be applied per face of an object, with scale, rotation, etc., applied across all maps on a face / object – click to enlarge

Viewing Materials: How Things Will Look

Materials processing will require viewers to be running in deferred mode (i.e. with lighting and shadows enabled, although not necessary with shadows activated – see my notes here). While it is not possible for materials to be implemented in such a way that it can run in a non-deferred mode, materials should not have any major negative impact on how second life looks to those who are unable to run their viewer in deferred mode. In fact, SL should continue to look to them much as it does today, hopefully as show in the image below.

With and without: how materials will look when running a viewer in differed mode (top) and in non-deiffered mode (bottom). The differences are clear, but the in-world experience in non-differred mode is not in any way "broken"
With and without: how materials will look when running a viewer in differed mode (top) and in non-deferred mode (bottom). The differences are clear, but the in-world experience in non-deferred mode is not in any way “broken”

In the meantime, Linden Lab are continuing to try to gather data on the number of users running their viewers in differed mode and – perhaps equally as important – the number of users who could be running with deferred active (again, if not with shadows active), particularly given the continuing improvements being made to the rendering system.

So materials processing is progressing and drawing close to an initial release. There is a lot going on within Second Life as a whole at the moment in terms of projects coming into the viewer, with both avatar baking/server-side baking (SSB) and the Communications Hub User Interface (CHUI) also on the horizon as well. As such, the Lab still need to establish priorities on the various projects and plan releases accordingly. Similarly, TPV’s need to consider the impact of these various projects on their work and determine their own priorities for integrating the projects into their viewers. Given the complexity some will face in implementing CHUI, it would appear likely that the materials capabilities might reach some TPVs ahead of that work, even if CHUI and materials are released in relatively close order.

As always, updates will be provided as news emerges.

Another preview of a  normal map and a  diffuse map (texture) in action (courtesy of Geenz Spad)  - click to enlarge
Another preview of a normal map and a diffuse map (texture) in action (courtesy of Geenz Spad) – click to enlarge

Related Links