SyntaxBomb - Indie Coders

Languages & Coding => Blitz Code Archives => 3D Graphics - Effects => Topic started by: BlitzBot on June 29, 2017, 00:28:38

Title: [bb] Easy Shadows (flat surfaces only) by daaan [ 1+ years ago ]
Post by: BlitzBot on June 29, 2017, 00:28:38
Title : Easy Shadows (flat surfaces only)
Author : daaan
Posted : 1+ years ago

Description : This is the easiest way to get decent looking shadows. The only problem is that they only work on a single flat surface.

Code :
Code (blitzbasic) Select
; lazy mans shadows ;
;      by tank      ;
Graphics3D 640,480,32,2
SetBuffer BackBuffer()

campiv=CreatePivot()
camera=CreateCamera(campiv)
MoveEntity camera,0,5,-10
TurnEntity camera,25,0,0

cone=CreateCone()
MoveEntity cone,0,5,0

shadow=CreateCone()
EntityFX shadow,1
EntityColor shadow,10,10,10
ScaleEntity shadow,1,0.001,1
MoveEntity shadow,0,0.11,0
EntityAlpha shadow,0.5

platform=CreateCube()
ScaleEntity platform,5,0.1,5
EntityColor platform,100,100,100

light=CreateLight()
MoveEntity light,0,20,0
TurnEntity light,90,90,0

scale#=1.0

; M A I N  L O O P ;
While Not KeyHit(1)

TurnEntity campiv,0,0.1,0

RotateMesh cone,1,1,0
RotateMesh shadow,1,1,0

If KeyDown(200) Then scale# = scale# + 0.01
If KeyDown(208) Then scale# = scale# - 0.01
ScaleEntity cone, scale#, scale#, scale#
ScaleEntity shadow, scale#+(scale#*0.4), 0.001, scale#+(scale#*0.4)

UpdateWorld
RenderWorld

Text 10,10,"Use the UP ARROW and DOWN ARROW keys to change the scale of the cone."

Flip

Wend


Comments :


Clarks(Posted 1+ years ago)

 thats pretty neat


puki(Posted 1+ years ago)

 Nice shadow thingy>'The only problem is that they only work on a single flat surface'Still useful.


bytecode77(Posted 1+ years ago)

 waaah, rubish...( sry:( )but if you wanna have a stencil shdaow system, just go into my worklogs(signature or click onto my name)!


Naughty Alien(Posted 1+ years ago)

 you said you will make it faster (I try it and its still not for real use)...so, I hope it will be updated soon (I'm talking about stencil shadows)


bytecode77(Posted 1+ years ago)

 well, i dont know wether i can make it faster... i cannot promise you that it will be faster...


fireshadow4126(Posted 1+ years ago)

 thanksvery simple, but effective for my purposes, considering that the game that I'm making is mostly inside a labyrinth, so it's going to be flat


_PJ_(Posted 1+ years ago)

 Nice and fast, Shame if you try using more complex shapes, or have 'AddMesh' though.