def updateShadowAmount(self, amount): grayLevel = amount if self.shadowColor != grayLevel: self.shadowColor = grayLevel ShadowCaster.setGlobalDropShadowGrayLevel(1.0 - grayLevel) if self.shadowsEnabled: self.casterState.setColor(grayLevel, grayLevel, grayLevel, 1, 10) self.shadowCam.node().setInitialState(self.casterState.getState())
def updateShadows(self, h): while h < TODGlobals.ShadowColorTable[self.shadowColorIndex][0]: self.shadowColorIndex -= 1 while h > TODGlobals.ShadowColorTable[self.shadowColorIndex + 1][0]: self.shadowColorIndex += 1 (prevH, prevColor) = TODGlobals.ShadowColorTable[self.shadowColorIndex] (nextH, nextColor) = TODGlobals.ShadowColorTable[self.shadowColorIndex + 1] dt = (h - prevH) / (nextH - prevH) grayLevel = dt * (nextColor - prevColor) + prevColor if h == 0: self.hideShadows() else: self.showShadows() if self.shadowColor != grayLevel: self.shadowColor = grayLevel ShadowCaster.setGlobalDropShadowGrayLevel(1.0 - grayLevel) if self.shadowsEnabled: self.casterState.setColor(grayLevel, grayLevel, grayLevel, 1, 10) self.shadowCam.node().setInitialState(self.casterState.getState())