Jump to content
  • entries
    943
  • comments
    5,899
  • views
    924,395

Leadwerks Engine 2.43, advanced optics, and more...


Josh

4,574 views

 Share

Leadwerks Engine 2.43

...will be released tomorrow, along with a new source distro. I've fixed a number of bugs, but I don't like compiling releases when I am tired because there's a lot of little steps to mess up, so I will do it in the morning.

 

Leadwerks Engine 3

Optics was always my favorite subject in physics, and I've been getting some amazing results lately by modeling computer graphics after real lighting phenomena.

 

Once I decided to make the materials system like 3ds max, everything became easy. The engine chooses an "ubershader" variation based on what texture slots a material has a texture assigned to. Creating a normal mapped material is as easy as creating a material and adding two textures. The engine will assume texture slot 0 is the diffuse map and slot 1 is the normal map, and will load a shader based on that. Predefined slots include diffuse, normal, specular, displacement, reflection, emission, refraction, and opacity maps. Of course, you can still explicitly assign a shader if you need something special. The material below was created just by dragging some textures into different slots and adjusting their strength:

blogentry-1-0-53582100-1307502606_thumb.jpg

 

Cubemaps are built into the model ubershader, and there's support for reflection, refraction, or both using a fresnel term to combine them. Chromatic aberrtion is also supported, which splits refracted light into its RGB components:

blogentry-1-0-40646600-1307502620_thumb.jpg

 

While I was getting into all these advanced optics, I decided to take a stab at color grading, and the results are great. You create a 3D texture (it's easier than it sounds) which gets used as a color lookup table in the post-processing filter. To make a new color table you can just run the source 2D image through a photoshop filter and save it. Color grading gives a scene an overall feel and makes colors look consistent. It's a technique that's used extensively in film, starting with 2000's Oh Brother Where Art Thou:

blogentry-1-0-12791800-1307502652_thumb.jpg

 

Here's anpther example:

blogentry-1-0-25328300-1307502658_thumb.jpg

 

And here's a simple shot in the engine. The original:

blogentry-1-0-78144300-1307502669_thumb.jpg

 

And graded with a "cool" color table:

blogentry-1-0-26982300-1307502679_thumb.jpg

 

It's more advanced than just tinting the screen a certain color, because this effect will actually emphasize a range of colors.

 

Preparing the Asset Store

Now that Leadwerks.com is hosted on our own dedicated server, I was able to create a more secure folder to store asset store files in that can only be accessed by the forum system. Previously, we had dynamic download URLs working, but the same file could still be downloaded from any browser within a few minutes before the dynamic URL changed. This will give better security for asset store merchants. According to my big flowchart, the only things left to do are to fix the side-scrolling main page and set up a merchant account with our bank, and then we'll be ready to launch.

 

Great movie and soundtrack, by the way:

 Share

13 Comments


Recommended Comments

The art pipeline for LE3 is really impressive. I love the fact that there will be an "ubershader" that will automatically choose settings picked upon the textures loaded. It will make it a hell of a lot easier and faster to create great graphical results to in-app models. Keep these updates a' comin', Josh!

Link to comment

When I was scrolling and saw the O'Brother picture I thought about this song and how I'd like to hear it. Then I kept scrolling and you didn't disappoint :)

Link to comment

very nice. do i haveto run photoshop everytime i want to use color grading or cani do it within the editor too based on somesliders or values?

Link to comment

very nice. do i haveto run photoshop everytime i want to use color grading or cani do it within the editor too based on somesliders or values?

I don't know yet. Real-time feedback would be nice, but there's also a lot of ways to produce these with Photoshop etc, that might be superior to poking around with color curves. For example, it would be trivial to make a black and white color table in photoshop, but I am not sure how you would do that with RGB curves.

 

How frequently do you think the color grading will need to be adjusted? Is it sufficient to include a dozen or so lookup tables for the most common looks you might want to achieve?

Link to comment

I could swear you mentioning color-grading (or similar) years ago - possibly pre LE on the Blitz forums. Or maybe it was some kind of palette thing?

 

ps, love the top Teapot - very nice.

Link to comment

Yes, I did some experiments with taking an image to make a palette and finding the closest color for any pixel. This is basically the same result, done a bit differently.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...