A downloadable Extension

Buy Now$20.00 USD or more

This is a Coppercube shader extension that will enhance the lighting and material quality of your CopperCube objects. Below are the features this shader action provides you.

Watch usage videos on YouTube:-



For v4.1:-

NOTE:- Since version 4.0, the price of the shader has been increased,  If you guys already own version 3.4 or earlier then you don't have to pay the full amount for the shader again, you guys can contact me via email or through my discord server,   you can pay the difference amount. Contact me here if you already own the  shader:-
e-mail:- neophyte.cf@gmail.com
Discord:- 
https://discord.gg/RKcq89S7uA

  • Support for Normal Maps
  • Support for Specular Maps
  • Support for Ambient Occlusion Maps
  • Support for Emmisive Maps
  • Controllable Normal Map strength
  • Controllable Specular gloss
  • Controllable Specular strength
  • Auto-grab light nodes from the scene
  • Ambient color 
  • Diffuse color
  • Specular color
  • Individual Light intensity (attenuation)
  • Individual Light color
  • Toggle to turn off specularity
  • Work with both animated and static 3D object
  • Uses the default point light data for light color and strength
  • Now supports Fog
  • Now supports Flashlight with controllable properties.
  • Auto-apply to all the 3D objects including billboards and particle systems in the scene.
  • Auto-grab the default material type. 
  • Vertex Color support
  • Support 10 lights at a time
  • Fog works with Normal maps
  • Normal maps work with transparency
  • And many other limitations of CopperCube's inbuilt lighting have been lifted up.


VARIABLES:-

There are many variables available in the shader that you can use to change the parameters during runtime. Like Flashlight Intensity, Defect intensity, etc. Some of the variables also provide material-specific property change by allowing you to specify a material index. Below are the available variables.

nodename.matindex.emissivestrength
nodename.matindex.normalstrength
nodename.matindex.normaldepth
customlight.flashlightintensity
customlight.defectsintensity

"nodename " is the name of the object that you want to change the property for and "matindex" is the material index of that object. For example, if you have an object in your scene with the name "cubeMesh" which has 3 materials and you want to change the emissive strength for the first material you can use the variable below and set a value to it. 

cubeMesh.0.emissivestrength

Others are just global variables and can be used without providing a material index or node name. More variables to control various properties can be added in future versions.

Javascript Command:- 
Since version 4.1, the shader uses a new javascript command which is necessary to use after you make changes to material-specific properties or use any of the variables provided by the shader during runtime. For example, if you change the AmbientColor, DiffuseColor, NormalStrength, NormalDepth, etc, then you need to call this command so that the shader can update the light data.  Here is the command and all you need is copy and paste this into an execute javascript action whenever you make any changes.

ccbUpdate_JIC_CustomLightData()

New in v3.1:-

  • Lights can be toggled on/off based on the Visibility parameter of CC's default Light attributes, now it can be used to create blinking lights easily.

New in v3.2:-

  • Added Normal Depth Parameter, It can be used to give your Normal Maps a better depth perception. Use a value near "0" to give more depth details, higher values will decrease the depth details. For example "0.01" will give more depth details than "0.1".
  • Normal depth will affect the Specularity, You might need to adjust the specular strength and normal strength to get better results.

New in v3.3:-

  • Added FOG support to the shader. It will now automatically render the CopperCube's default fog on the object with the shader applied if Fog is turned ON in the attributes of the "Root scene node". You can additionally exclude the object to be affected by fog by simply turning ON and OFF a new parameter "Fog Enabled" added to the shader properties.

New in v3.4:-

  • Fixed an issue with the normal maps, previously normal maps weren't reacting to the light source, now react to the light source and make the bumps look more appealing
  • You probably may need to use negative normal strength and lower specular values, as the normal maps reacting to light can also cause issues, with animated meshes.
    It's better to use the previous version if the latest version doesn't work for you.

New in v3.4.1:-

  • General update over the faulty update of 3.4, Normal mapping reacts to light and works with animated objects as well.

New in v4.0:-

  • The whole codebase updated.
  • Auto-apply the shader to all the objects in the scene ( static and animated mesh).
  • Auto-grab base material for the objects.
  • Global and individual material-specific properties that can be edited from irredit/irrlicht tools (Ambient, Diffuse, Specular).
  • Flashlight support with many features like (a toggle button, flashlight defects, etc)
  • Ability to  exclude static objects to  be affected by  shader ( Occludes light toggle)
  • A lot of major and minor bug fixes and many more options, watch the usage tutorial video to get an idea of what new has been added and what's changed.

New in v4.1:-

  • Supports up to 10 lights at a time
  • Runtime variable-based controlling of property values
  • Highly optimized for better  performance
  • Option to toggle between Ambient Occlusion or Emissive maps
  • Toggle to use inbuilt  CC normals and the shader's own normal mapping technique
  • Various minor and major bug fixes like loading overlay, transparency bug, etc.

Limitations:-

  • Only point lights can be used.
  • The object to which the shader is applied will not be able to receive real-time shadows. However other objects in your scene that don't use this shader will still be able to use shadows.
  • This will not work with CC's inbuilt terrain and water nodes.
  • Sometimes normal maps might cause artifacts if UV islands are used.
  • Since v4.0, framerate can be affected, depending on the complexity of your scene, Materials and objects count will affect performance. ( Now in v4.1, it is highly optimized)
  • Since  v4.0, as the shader gets applied to all the objects in the scene, the game will become unresponsive until the shaders get applied to the objects in the scene, it is better to provide a Loading Splash overlay to show before applying the shader.

You will also get sample files for all the images that you see on your right along with this shader, to get an idea of how to set it up for different kinds of models. Hope you will like this shader. Newer versions may have source only and no demos, You can however download the version with the demos and can apply for the latest shader extension on them.

All the models used in the demos are downloaded from https://sketchfab.com/ and https://www.mixamo.com/, I don't own any rights to them. 

In the demo for v4.0, v4.1  Music: Silhouette by Whatfunk.
In demo v4.1 :- "Dodemon" (https://skfb.ly/oFQSN) by Adrien Marcastel.


Watch usage videos on YouTube:-

For v4.1:-

For v4.0:- 

For v3.4 and earlier:-

For any questions or bug reports, you can contact me on my Discord Server here:-

https://discord.gg/RKcq89S7uA

If you like this shader then, you might also be interested in my other shaders for CopperCube too, you can get them for free from my website along with other  CC extensions:- https://neophyte.cf/assets.html

To watch tutorials and demonstration videos, You can also subscribe to my YouTube Channel here:- https://www.youtube.com/channel/UC_yfoGEKkmY63tnyy6hR7ZQ

Note:- This shader will only work on the DirectX platform, which means it will have no use on webGL and Android Target and will work on Windows and macOS DirectX targets only.

For a complete changelog see the source script of the shader extension.

Purchase

Buy Now$20.00 USD or more

In order to download this Extension you must purchase it at or above the minimum price of $20 USD. You will get access to the following files:

ccb_shader_custom_light_v3.1.zip 75 MB
action_create_point_light_v3.2.zip (No Demos) 8.8 kB
ccb_action_create_point_light_v3.3.zip( with car demo) 27 MB
ccb_action_create_point_light_v3.4.1.zip ( No Demos_hotfix) 9.6 kB
Shader version 3.4.1 Demo (T-rex.ccb) 31 MB
Custom Light Shader 4.0 Demo.zip 233 MB
if you pay $30 USD or more
Custom Light Shader 4.1 with demo.zip 250 MB
if you pay $30 USD or more

Development log

Comments

Log in with itch.io to leave a comment.

from where do I get IrrEDIT?

didn't say that I need this for the shader to work

great …

You need to enable irredit/irrlicht tools from CopperCube Tools>Options>Editor>Show Irredit/irrlicht options, then restart the editor.

As irredit/irrlicht is a part of Coppercube, there was no need to mention it. It is just hidden by default you need to enable it.

thanks

I really never noticed that one.

It looks like a great shader, I have a question, I'm new to coppercube! Can I use this shader on my entire game (including terrain/landscapes/houses) or just on objects? thanks

Hi there, I don’t recommend purchasing this shader anymore, as there is a major bug in the latest version of this shader that affects the performance. However the shader can be used on any object including animated meshes, it also works with the terrain, but it is not recommended to use it with terrain as it will cause some weird artifacts, where the texture blends into each other in the terrain.

ty

(1 edit)

question:

you are selling a shader that is buggy for $20 ?

have you considered fixing the shader?

I'd happily pay you 20 for it but not for a broken shader

suggestions?

Hi there thanks for your comment , your concers are true, but the previous versions of the shader works perfectly fine without any bug, only the latest version which is not 20 USD, it is actually 30 USD has bugs in it, and I don’t recommend anybody to purchase it. I will probably restrict the latest buggy version of the shader, so that it won’t cause any confusion. So when you look at something buggy you might also look at its previous versions, Coppercube itself has so many bugs since version 1 and yet are not fixed, but I am working on finding a solution to fix the bug. The shader works as expected but when you have huge scene with tonnes of lighting you will face FPS drops. Functionality wise there is no bug in the shader, but I don’t want people to purchase it and then later encounter the performance issue. I will probably hide “version 4” until I find a solution for the performance drop.

Thanks :) You should spend your money on buying assets for your games or to purchase other extensions or things that might be valuable to you.

I just tried your dinosaur shader sample and simply swapped over the box only and ran it. The normal texture was sharpened (ie darker black lines) but the normal mapping (ie 3d effect) was lost...

(-1)

The Dino example and all the other examples, in that zip, uses old version of the shaders, There is a normal Depth parameter in the newer version, you can use that to give more depth to the object, by setting it from 0 to 1, 0 means more depth, 1 means flat texture. Give it a try and let me know if that doesn't help, Normal mapping does work, but the only issue I found is that the default normal maps react to light a bit and mine doesn't. 

The issue has been fixed now, just released version 3.4 with the fix.

I got a slight shine to work but when run removed any normal mapping on each of the versions....please review this shader and let me know- ie run with normal map before anything then run your shader to confirm still working...

What issue are you facing exactly, I tried running the shader on an object that has default normal mapping applied to them, and then I run the shader, and it still runs on that model. if you can please explain in more detail, maybe I can fix the issue or bug if there is any.

I have a 3d mesh (default box) and have default CC normal mapped textures on it showing the 3D shape that sticks out of the object due to point light lighting - ie it has a 3D look to the textures. This is setup as dynamic lighting of course.

When I add your shader on to it, tried every possible scenario I can think of and when run it removes the 3D look to it totally and only sharpens the normal mapped texture on the surface - ie no real normal mapping at all....are you sure your not confusing sharpening for actually normal mapping ? 

Please use a real normal mapped sample when checking that doesnt have smooth surfaces to check...

Yes, you are right, Normal doesn't seem to react to the light, Instead, it looks as if they are blended over the Diffuse texture,  Hopefully, this will be fixed in the next Update. Thanks, for reporting, I wonder why nobody has reported that issue. It will be fixed soon enough.

The issue has been fixed now, just released version 3.4 with the fix.

great thanks - will take a look.