Jump to content

Day and Night Cycle shader


shadmar
 Share

Recommended Posts

Wasn't sure where to put this since I can't get it to work in the workshop since it needs a big controlscript.

 

sunset.JPG

 

Anyway here it is :

 

General

  • Preetham skymodel is used (look up on wikipedia)
  • UnCharted2 tonemap
  • Procedural stars at night
  • Procedural Clouds.
  • Alot of adjustables

Install

  • Download at bottom of page here
  • Unzip straight into the projects root folder

Use

  • Drag the Sun prefab from the prefab folder
  • You can adjust all sorts of stuff in the script tab of the Sun object
  • It will adjust to the rotation of the Sun (which is a directionallight) when you run (F5/6)
  • Works very well with bloomsettings : luminance=0.11 midgray=0.158 whitecutoff=0.298
  • Added one small example map as well in the maps folder.

Update :

  • Fixed the ATI issue, thanks TattieBoJangle
  • Fixed the cloudscale issue, thanks HaydenMango
  • Skydome now follows the camera (if found)
  • Skydome resizes to the camera's drawdistance (if found)
  • Added adjustable bloom settings (if workshop the bloom is added the scene)

Edit: soon inthe workshop.

  • Like 2
  • Upvote 28

HP Omen - 16GB - i7 - Nvidia GTX 1060 6GB

Link to comment
Share on other sites

Really great job, shad (and, klepto too, i think?)! smile.png!!

 

There's still room for improvement, but what you have already done, is really awesome!!

 

Some godrays coming through the clouds would really be great! *HINT* *HINT* wink.png

 

ZBrush 4R7 64-bit - 3DCoat 4.5 BETA 12 - Fl Studio 12 64Bit - LE 3.2 Indie version - Truespace 7 - Blender 2.71 - iClone 5.51 Pro - iClone 3DXChange 5.51 pipeline - Kontakt 5 - Bryce 7 - UU3D Pro - Substance Designer/Painter - Shadermap 3 - PaintShop Photo Pro X7 - Hexagon - Audacity - Gimp 2.8 - Vue 2015 - Reaktor 5 - Guitar Rig 5 - Bitmap2Material 3

Link to comment
Share on other sites

from c++ or lua ?

Both would be equally usefull. Thanks! wink.png

 

ZBrush 4R7 64-bit - 3DCoat 4.5 BETA 12 - Fl Studio 12 64Bit - LE 3.2 Indie version - Truespace 7 - Blender 2.71 - iClone 5.51 Pro - iClone 3DXChange 5.51 pipeline - Kontakt 5 - Bryce 7 - UU3D Pro - Substance Designer/Painter - Shadermap 3 - PaintShop Photo Pro X7 - Hexagon - Audacity - Gimp 2.8 - Vue 2015 - Reaktor 5 - Guitar Rig 5 - Bitmap2Material 3

Link to comment
Share on other sites

Well, either way (havent tested), but in theory you can:

 

1. store your world objects in an array or list when loaded from the map : http://www.leadwerks.com/werkspace/topic/6386-c-finding-entities-in-a-scene/page__hl__map or http://www.leadwerks.com/werkspace/topic/6887-communicating-from-lua-to-c/

 

2. check if entity->GetClassName=="DirectionalLight" && entity->GetColor().x <=0 then it's night.

  • Upvote 1

HP Omen - 16GB - i7 - Nvidia GTX 1060 6GB

Link to comment
Share on other sites

I finally got around to adding this to my project. It looks sooo amazing. You are the best Shadmar thank you!!!

 

Here is a little preview of what it looks like in game. It is speed up to be 5 times faster so the video wouldn't be super long.

 

  • Like 1
  • Upvote 2
Link to comment
Share on other sites

Tip for adding fast bloom (good looking) to the sky:

 

1. Add bloom from the workshop to your scene tab : http://steamcommunity.com/sharedfiles/filedetails/?id=256268930&searchtext=

2. Add a pivot to your map and connect this bloom control script :

 


function Script:UpdateWorld()

if self.camera==nil then

local world=World:GetCurrent()

for i=0,world:CountEntities()-1 do

if world:GetEntity(i):GetClass()==Object.CameraClass then

self.camera=world:GetEntity(i)

tolua.cast(self.camera,"Camera")

System:Print(world:GetEntity(i):GetClassName())

break

end

end

else

self.camera:SetKeyValue("bloom_Luminance","0.11")

self.camera:SetKeyValue("bloom_MiddleGray","0.158")

self.camera:SetKeyValue("bloom_WhiteCutoff","0.298")

end

end

 

Edit: Correction, WhiteCutoff 0.298

HP Omen - 16GB - i7 - Nvidia GTX 1060 6GB

Link to comment
Share on other sites

Looks GREAT! I get Failed to compile fragment shader any ideas?

 

 

Fragment shader failed to compile with the following errors:

ERROR: 0:317: error(#160) Cannot convert from: "3-component vector of vec3" to: "highp float"

ERROR: error(#273) 1 compilation errors. No code generated

Failed to compile fragment shader.

Error: Failed to compile fragment shader.

Asus Extreme v x99, Intel I7, Windows 8.1 64 Bit, SSD, Geforce GTX 980 4GB, 16GB Ripjaw DDR4

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   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.

 Share

×
×
  • Create New...