rssmaterial3DLightBasic (material3dlightbasic)

Rate:You need to be logged in to vote
Rating:4 (8 Votes)
Resource: material3DLight Basic v0.1.9
Author: Ren712

This resource adds an ability to create basic light sources
The purpose of this resource is to give an efficient alternative to
dynamic lighting resource and prepare for new deferred rendering
approach. Instead of applying shaders to world textures, I have decided
to recreate needed information from scene depth to apply effect post world
(drawn on materialLine3D billboard). You can add virtually
limitless number of lights. In order to work the effects
require shader model 3 GFX with readable depth buffer support.

CMatLightDirectional - Creates a global directional light
CMatLightPoint - Creates a point light.
CMatLightPointNoNRM - Same as above but no normal shading
CMatLightSpot - Creates a spot light.
CMatLightSpotNoNRM - Same as above but no normal shading
CMatLightSpecular - Creates a specular light.
CmatLightDark - Creates an inverted color point light
CmatLightDarkNoNRM - Same as above but no normal shading
CMatTexture - Creates a 2D quad
CMatTextureNoDB - Creates a 2D quad (basic method)
CMatTextureProj - Creates a projected 2D texture
CMatTextureProjNoNRM - Same as above but no normal shading
CMatTextureProjNoDB - Creates a projected 2D texture (basic method)
CMatTextureProjCone - Creates a projected 2D texture (perspective projection)
CMatTextureProjConeNoNRM - Same as above but no normal shading
CMatTextureProjConeNoDB - Creates a projected 2D texture (basic method)
CMatTextureProjCube - Creates a projected cube texture
CMatTextureProjCubeNoNRM - Creates a projected cube texture

Shader model 3.0 GFX, readable depth buffer in PS access.

c_resource_test.lua lets you create lights in front of the camera view.


Download latest version | Report

Version history

Version Publish Date Changes
0.1.9 2020-04-20 22:17:37 -added off-screen light culling
-changed fading method a bit
0.1.8 2020-02-01 23:48:29 -brighter lights Download
0.1.7 2020-01-21 17:14:49 -fixed some depth buffer related issues Download
0.1.6 2019-04-01 22:31:36 -readjusted the projective texture coordinates Download
0.1.5 2019-03-10 22:32:08 -zEnabled and depthBiased the billboards
-simplified the lod/detail method
0.1.4 2019-03-04 22:36:17 -fixed blending issues with darkLight Download
0.1.3 2019-02-17 00:29:23 -optimized drawing lights at the short range (switching between 2 shader variants based on distance) Download
0.1.2 2018-05-08 21:02:22 -added CMatLightDirectional Download
0.1.1 2018-04-07 20:48:13 -limiting worldPos calculations to space within light radius Download
0.1.0 2018-03-27 21:28:18 -added CMatTexture, CMatTextureNoDB Download
0.0.9 2017-10-20 20:03:08 -added CMatTextureProjCone, CMatTextureProjConeNoNRM, CMatTextureProjConeNoDB Download
0.0.8 2017-10-15 20:41:02 -removed CMatTextureProjDark and CMatTextureProjDarkNoNRM -added CMatTextureProjNoDB (standard fallback for CMatTextureProj*) -fixed error when AutoProjectionEnabled (in CMatTextureProj*) Download
0.0.7 2017-10-09 22:11:40 -added CMatTextureProjDark and CMatTextureProjDarkNoNRM Download
0.0.6 2017-09-27 23:06:02 -added CMatLightSpecular Download
0.0.5 2017-09-26 17:21:10 -enabled normal shading to CMatTextureProj
-added CMatTextureProjNoNRM, CMatTextureProjCubeNoNRM
0.0.4 2017-09-26 16:47:06 -added setRotation method for CMatLightSpot
-added setSurfaceOffset method for CMatTextureProj
-in CMatTextureProj renamed method setAutoProjectionPosition to setAutoProjectionEnabled
-in CMatTextureProj renamed method setAutoProjectionPositionSearchLength to setAutoProjectionSearchLength
-fixed some minor typos
0.0.3 2017-09-25 23:19:37 -added CMatLightDark (self shading), CMaterial3D_projectedTexture, CMaterial3D_projectedTextureCube
-added some methods for Matrix class (for ZXY rotation handling)
0.0.2 2017-03-12 02:36:02 -normal generator takes current field of view and screen proportions into account Download
0.0.1 2017-03-10 00:43:39 First public release Download