Welcome to the legacy site! It's a bit broken, but should work for the most part - just keep in mind I'm not actively maintaining it!
Electronic Mind Studios

ForumBlog/News → Almost there!
9 years ago - Sean Boettger(Spike1)


Sean Boettger
Spike1

Ah ha! This post didn't take a month get to get done! Sorry, surprised I remembered haha :). Anyway, Shader Sandwich is progressing nicely, I've added a page for it (The Software Page), and it's looking pretty cool.


Unfortunately it may take a bit longer than expected. I recently went on a trip down to Daylesford (It's a country town in Australia), so that slowed progress by a week. I'm also going to have to rewrite a decent amount of the code generation as well though.


Warning - Technical Stuff Ahead!


You see, previously I was using a very useful tool in Unity called Surface Shaders. These allowed me to write the shader code in a simple format, and then have Unity generate most of the lighting functionality around it. This simplified the code base a ton, although created an annoying divide between the base of the shader and any shells generated around it (Which use simple vertex/fragment programs).

The major problem with this is, well, Surface Shaders are terribly documented and buggy as heck. I've been working around this in the past but it's just gotten ridiculous.

For example, there's a variable that Unity can populate called TEXTURENAME_ST, which is the offset and tiling values that are set in the editor. This is great, except depending on where you put certain inputs and define variables it will be populated in different positions, may already be declared, or not be populated at all! I added a ton of code checking for all these undocumented problems, but it seems unsolvable :(.

So, I'm now going to unify the shells and base systems by switching completely to Vertex/Fragment programs.

This means I'll have to rewrite a ton of code to get them together, but by the end the codebase should be smaller and the program will be able to do more things!
Posted 9 years ago
Please login or register to comment... go on and do it! It's nice and easy here :)
Copyright 2016 :) | Terms and Conditions!