Search the Community
Showing results for tags 'lighting'.
-
When the bullet I fired hits the wall, smoke comes out. Such a change in lights occurs throughout the lifetime of the smoke. Is this a bug or am I making a mistake? Here is my code { //initial codes up here //Smoke emitter smokeMaterial = Material::Load("Materials/Effects/smoke.mat"); hitEmitter[1] = Emitter::Create(); hitEmitter[1]->SetCollisionType(0); hitEmitter[1]->SetColor(1, 1, 1, 0.25); hitEmitter[1]->SetMaterial(smokeMaterial); hitEmitter[1]->SetEmissionVolume(0.05, 0.05, 0.05); hitEmitter[1]->SetVelocity(0.5, 0.5, 0.5, 1); hitEmitter[1]->SetParticleCount(18); hitEmitter[1]->SetReleaseQuantity(18); hitEmitter[1]->SetMaxScale(4); hitEmitter[1]->SetDuration(1500); hitEmitter[1]->AddScaleControlPoint(0, 0.7); hitEmitter[1]->AddScaleControlPoint(1, 1); hitEmitter[1]->SetRotationSpeed(8); hitEmitter[1]->SetAcceleration(0,-1.2,0); hitEmitter[1]->Hide(); hitEmitter[0]->SetParent(this->entity); hitEmitter[0]->SetPosition(0.0f, 0.0f, 0.0f, false); hitEmitter[0]->SetShadowMode(0); hitEmitter[0]->Show(); hitEmitter[0]->SetLoopMode(false, true); lifeTime = 12000; fadeTime = 4000; fadeStart = Time::GetCurrent() + lifeTime - fadeTime; } void BulletHit::UpdateWorld() { int currentTime = Time::GetCurrent(); if (currentTime > fadeStart) { float alpha = 1.0f - (currentTime - fadeStart) / fadeTime; if (alpha <= 0) { this->entity->Release(); } } }
-
Just a quick question, I've been exploring the technologies of other engines and I've seen some very unique lighting techniques for global illumination in real-time. Is there any technology implemented within the Leadwerks to allow this feature, or is there any way to implement Nvidia's tech (Voxel-based Global Illumination, as seen in the Unreal Engine) through the use of their GameWorks SDK which requires direct contact to the OpenGL implementation (I believe, don't quote me on this)?
- 6 replies
-
- lighting
- programming
-
(and 1 more)
Tagged with:
-
Hi, I would like to know if it is possible to change the shadow resolution in Lua. Or is this something that can only be done through C++? My SetLightQuality() is at 2 which I believe is the maximum.
-
I was wondering if this can be fixed without having to change or amend anything in C++ I've set my lighting quality to 2 but have had no change. When I go a little far away from objects that are receiving shadows the shadow seems to have some sort of falloff. Here is an image to show you what I mean, you can see where my mouse cursor is the top of the wall the shadow is disappearing. I am wondering if there is anything I can change in my project to stop this from happening, or if there is some values I can change to makes this effect not so prominent?
-
In the following post by josh, it is mentioned that light from ambient probes is blended using glBlendEquation(GL_MAX); http://www.leadwerks.com/werkspace/blog/1/entry-1681-ambient-lighting-research/ Is it possible to modify this functionality? I've been trying to port my PBR work over to the new environment probes system and have found them to be very useful, but this issue causes some quite noticeable artifacts. as shown below. The reflection should still be visible even underneath the suns light. There is commented out code within the probe shader labelled additive blending, but it doesn't produce correct results. Nor can I see how an in shader solution could work, given that the shader is clamped with glBlendEquation(GL_MAX); Any solutions? if this can be sorted without c++ it'll remove the "gotchas" from the PBR work.
-
Hi Guys, I am trying out the new Environment Probes but I am getting some issues. My material seems to look incredibly shiney when I place an Environment Probe into my scene. The bounding box for the Environment Probe is wall to wall and floor to ceiling just on the interior faces of the walls. Here is a shot without the Environment Probe, the material looks much less shiny, it behaves as I intended. I'm not to sure what the problem is. I thought the new Environment Probes were just for Global Illumination and not reflections, which is what it seems to be doing. Am I going wrong somewhere? Thanks
-
I've been noticing this more and more often, instead of maintaining the same "darkness" on all computers, my game appears to be a lot brighter on my pc for no reason. This is what the game looks on my portable computer: That is how it's meant to look, dark but with enough light to see where you can go. This is the exact same scene (same settings and all) on my main computer: At first I thought my monitor had its brightness up, but nope, that isn't the issue. I realize that the game will look brighter or darker on some computer because of a variety of things, but I find it really weird that it looks darker on anything that isn't my main computer (it also makes it very hard to make the levels since I can see really well but the final product turns out really dark.) Anyone have any clue how I could fix this "issue"?
-
I have a problem with the lighting in Leadwerks. I don't know if it has always been like this, if so I've never noticed it. You can see the circles on the wall from the fall off of the lighting. My light quality settings are set to 2 in my Main.app script and the light settings are set to 'Dynamic + Static'. Everything I try though just gives me this result
-
So I've been considering Leadworks for use in an upcoming game, and I've downloaded the demo. However, I cannot seem to import not use in any way-- IES Profiles. Is there something I'm missing, or does Leadwerks just not have this as a feature? Although I can make do, this is quite important to me in the long run. Regards, Kemerd.
-
For my current project I wanted to simulate a light that's shorting out in order to add a bit of a creepy ambience to my scene. After a while of messing with the different things that could be done with an emitter (and failing at getting the effect I wanted), I realized that really, a light that's shorting out is really a light that's turning off and on again. Well, that's something that can be scripted pretty easily thanks to Leadwerk's API. There are a couple of obvious ways to get the desired effect: Create the light in a given position, then remove it again. This can be a pain and can also be resource intensive Toggle the light's color between the "on" and "off" colors, where "off" is transparent and "on" is any color with a visible alpha. Needless to say, I chose the latter. First I needed to define some colors. For my purposes, I wanted to be able to set colors between Red, Green, Blue, and White, so in my Scripts/Objects/Lights/ShortedBlink.lua file I added the following: function Script:Start() self.colors = {} self.colors["red"] = Vec4(1, 0, 0, 0) self.colors["green"] = Vec4(0, 1, 0, 0) self.colors["blue"] = Vec4(0, 0, 1, 0) self.colors["white"] = Vec4(1, 1, 1, 0) if self.color_on == nil then self.color_on = self.colors[string.lower(self.OnColor)] end self:On() end Then it came time to fill in the "on()" and "off()" functions: function Script:On() self.entity:SetColor(self.color_on) self.component:CallOutputs("On") self.isOn = true end function Script:Off() self.entity:SetColor(self.color_off) self.component:CallOutputs("Off") self.isOn = false end I then defined a few top-level variables that I knew I would need, one of which needed to be available to the Leadwerks Editor, namely "OnColor" (the desired activated color). Here's what the top of the file looks like: Script.enabled = true Script.isOn = true Script.OnColor = "red" -- string "Active Color" Script.color_on = nil -- transparent Script.color_off = Vec4(0, 0, 0, 0) Now that I had my top-level variables defined coupled with on and off functions, it was time to add a ToggleLight() function that would do the work: function Script:ToggleLight() if self.isOn then self:Off() else self:On() end end Pretty self-explanatory. If isOn is true then the light is on, so turn it off, else turn it on. This script is missing one thing: UpdateWorld() function Script:UpdateWorld() self:ToggleLight() end I was pretty happy with myself up until I attached this script to a spotlight and almost suffered an epileptic seizure... Thankfully, the answer was pretty clear: I needed to add some sort of a delay. After some experimentation, the desired effect was achieved by performing some modulo division: function Script:UpdateWorld() if Time:Millisecs() % 11 == 0 then self:ToggleLight() end end Basically, we're taking the current time in milliseconds and seeing if it's evenly divisible by 11. If it is, then toggle the light, else leave the light's state alone. I probably could have gone with a better way of randomizing the delay, but this one works just fine and isn't resource intensive at all (if a computer struggles to perform a simple math operation, put it out of its misery). The completed script looks like this: Script.enabled = true Script.isOn = true Script.OnColor = "red" -- string "Active Color" Script.color_on = nil -- transparent Script.color_off = Vec4(0, 0, 0, 0) function Script:Start() self.colors = {} self.colors["red"] = Vec4(1, 0, 0, 0) self.colors["green"] = Vec4(0, 1, 0, 0) self.colors["blue"] = Vec4(0, 0, 1, 0) self.colors["white"] = Vec4(1, 1, 1, 0) if self.color_on == nil then self.color_on = self.colors[string.lower(self.OnColor)] end self:On() end function Script:On() self.entity:SetColor(self.color_on) self.component:CallOutputs("On") self.isOn = true end function Script:Off() self.entity:SetColor(self.color_off) self.component:CallOutputs("Off") self.isOn = false end function Script:ToggleLight() if self.isOn then self:Off() else self:On() end end function Script:UpdateWorld() if Time:Millisecs() % 11 == 0 then self:ToggleLight() end end Just add the script to a light source, type in the color you want (from the choices available within the script) and watch what happens the next time you debug or play your game. Hopefully this saves someone some time in the future.
-
First of all, I'm just getting started with Leadwerks. So thanks in advance for any help, and please don't think there's anything too basic to mention. ;-) I'm working on a dungeon environment, and I'm trying to make a torch. I made a cone, gave it a wood texture, and added a particle emitter and point light. Okay, so it's a torch, but it's really, I mean really, ugly: Here are my questions: I hate how the torch itself looks, all shiny like that. At first it was just totally dark, since I had the point light on top. Then I moved the light in front hoping to light up the torch, but it just has this hard shiny glare on it. Can I tell Leadwerks to render the wooden cone at full ambient lighting? I don't like the light itself, either. I hate the way it casts those shiny highlights on the walls. I wish I could more or less have the effect of an ambient light, in a globe around the torch. Is something like that possible? I've messed with the color of the point light, but I can never tell that it makes any difference. Is it just very subtle, or am I doing something wrong? Thanks very much!