mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
Added new alpha mode
This commit is contained in:
parent
6512581e90
commit
10fb636ec6
@ -454,6 +454,10 @@ class ParticlePanel(AppShell):
|
|||||||
'Radius of ring',
|
'Radius of ring',
|
||||||
command = self.setEmitterRingRadius,
|
command = self.setEmitterRingRadius,
|
||||||
min = 0.01)
|
min = 0.01)
|
||||||
|
self.createFloater(ringPage, 'Ring Emitter', 'Radius Spread',
|
||||||
|
'Variation in radius of ring',
|
||||||
|
command = self.setEmitterRingRadiusSpread,
|
||||||
|
min = 0.0)
|
||||||
self.ringCustomFrame = Frame(ringPage)
|
self.ringCustomFrame = Frame(ringPage)
|
||||||
self.createAngleDial(self.ringCustomFrame, 'Ring Emitter', 'Angle',
|
self.createAngleDial(self.ringCustomFrame, 'Ring Emitter', 'Angle',
|
||||||
'Particle launch angle',
|
'Particle launch angle',
|
||||||
@ -479,6 +483,10 @@ class ParticlePanel(AppShell):
|
|||||||
'Radius of ring',
|
'Radius of ring',
|
||||||
command = self.setEmitterTangentRingRadius,
|
command = self.setEmitterTangentRingRadius,
|
||||||
min = 0.01)
|
min = 0.01)
|
||||||
|
self.createFloater(tangentRingPage, 'Tangent Ring Emitter',
|
||||||
|
'Radius Spread',
|
||||||
|
'Variation in radius of ring',
|
||||||
|
command = self.setEmitterTangentRingRadiusSpread)
|
||||||
self.emitterNotebook.pack(fill = X)
|
self.emitterNotebook.pack(fill = X)
|
||||||
|
|
||||||
## RENDERER PAGE WIDGETS ##
|
## RENDERER PAGE WIDGETS ##
|
||||||
@ -493,7 +501,8 @@ class ParticlePanel(AppShell):
|
|||||||
self.createOptionMenu(rendererPage,
|
self.createOptionMenu(rendererPage,
|
||||||
'Renderer', 'Alpha Mode',
|
'Renderer', 'Alpha Mode',
|
||||||
"alpha setting over particles' lifetime",
|
"alpha setting over particles' lifetime",
|
||||||
('NO_ALPHA','ALPHA_OUT','ALPHA_IN','ALPHA_USER'),
|
('NO_ALPHA','ALPHA_IN','ALPHA_OUT',
|
||||||
|
'ALPHA_IN_OUT', 'ALPHA_USER'),
|
||||||
self.setRendererAlphaMode)
|
self.setRendererAlphaMode)
|
||||||
|
|
||||||
self.createSlider(
|
self.createSlider(
|
||||||
@ -1272,6 +1281,8 @@ class ParticlePanel(AppShell):
|
|||||||
elif isinstance(emitter, RingEmitter):
|
elif isinstance(emitter, RingEmitter):
|
||||||
radius = emitter.getRadius()
|
radius = emitter.getRadius()
|
||||||
self.getWidget('Ring Emitter', 'Radius').set(radius, 0)
|
self.getWidget('Ring Emitter', 'Radius').set(radius, 0)
|
||||||
|
radiusSpread = emitter.getRadiusSpread()
|
||||||
|
self.getWidget('Ring Emitter', 'Radius Spread').set(radiusSpread,0)
|
||||||
angle = emitter.getAngle()
|
angle = emitter.getAngle()
|
||||||
self.getWidget('Ring Emitter', 'Angle').set(angle, 0)
|
self.getWidget('Ring Emitter', 'Angle').set(angle, 0)
|
||||||
elif isinstance(emitter, SphereVolumeEmitter):
|
elif isinstance(emitter, SphereVolumeEmitter):
|
||||||
@ -1283,6 +1294,9 @@ class ParticlePanel(AppShell):
|
|||||||
elif isinstance(emitter, TangentRingEmitter):
|
elif isinstance(emitter, TangentRingEmitter):
|
||||||
radius = emitter.getRadius()
|
radius = emitter.getRadius()
|
||||||
self.getWidget('Tangent Ring Emitter', 'Radius').set(radius, 0)
|
self.getWidget('Tangent Ring Emitter', 'Radius').set(radius, 0)
|
||||||
|
radiusSpread = emitter.getRadiusSpread()
|
||||||
|
self.getWidget('Tangent Ring Emitter', 'Radius Spread').set(
|
||||||
|
radiusSpread,0)
|
||||||
# All #
|
# All #
|
||||||
def setEmissionType(self, newType = None):
|
def setEmissionType(self, newType = None):
|
||||||
if newType:
|
if newType:
|
||||||
@ -1383,6 +1397,8 @@ class ParticlePanel(AppShell):
|
|||||||
# Ring #
|
# Ring #
|
||||||
def setEmitterRingRadius(self, radius):
|
def setEmitterRingRadius(self, radius):
|
||||||
self.particles.emitter.setRadius(radius)
|
self.particles.emitter.setRadius(radius)
|
||||||
|
def setEmitterRingRadiusSpread(self, radiusSpread):
|
||||||
|
self.particles.emitter.setRadiusSpread(radiusSpread)
|
||||||
def setEmitterRingLaunchAngle(self, angle):
|
def setEmitterRingLaunchAngle(self, angle):
|
||||||
self.particles.emitter.setAngle(angle)
|
self.particles.emitter.setAngle(angle)
|
||||||
# Sphere surface #
|
# Sphere surface #
|
||||||
@ -1394,6 +1410,8 @@ class ParticlePanel(AppShell):
|
|||||||
# Tangent ring #
|
# Tangent ring #
|
||||||
def setEmitterTangentRingRadius(self, radius):
|
def setEmitterTangentRingRadius(self, radius):
|
||||||
self.particles.emitter.setRadius(radius)
|
self.particles.emitter.setRadius(radius)
|
||||||
|
def setEmitterTangentRingRadiusSpread(self, radiusSpread):
|
||||||
|
self.particles.emitter.setRadiusSpread(radiusSpread)
|
||||||
|
|
||||||
## RENDERER PAGE ##
|
## RENDERER PAGE ##
|
||||||
def selectRendererType(self, type):
|
def selectRendererType(self, type):
|
||||||
@ -1410,6 +1428,8 @@ class ParticlePanel(AppShell):
|
|||||||
aMode = 'ALPHA_OUT'
|
aMode = 'ALPHA_OUT'
|
||||||
elif alphaMode == BaseParticleRenderer.PRALPHAIN:
|
elif alphaMode == BaseParticleRenderer.PRALPHAIN:
|
||||||
aMode = 'ALPHA_IN'
|
aMode = 'ALPHA_IN'
|
||||||
|
elif alphaMode == BaseParticleRenderer.PRALPHAINOUT:
|
||||||
|
aMode = 'ALPHA_IN_OUT'
|
||||||
elif alphaMode == BaseParticleRenderer.PRALPHAUSER:
|
elif alphaMode == BaseParticleRenderer.PRALPHAUSER:
|
||||||
aMode = 'ALPHA_USER'
|
aMode = 'ALPHA_USER'
|
||||||
self.getVariable('Renderer', 'Alpha Mode').set(aMode)
|
self.getVariable('Renderer', 'Alpha Mode').set(aMode)
|
||||||
@ -1527,6 +1547,8 @@ class ParticlePanel(AppShell):
|
|||||||
aMode = BaseParticleRenderer.PRALPHAOUT
|
aMode = BaseParticleRenderer.PRALPHAOUT
|
||||||
elif alphaMode == 'ALPHA_IN':
|
elif alphaMode == 'ALPHA_IN':
|
||||||
aMode = BaseParticleRenderer.PRALPHAIN
|
aMode = BaseParticleRenderer.PRALPHAIN
|
||||||
|
elif alphaMode == 'ALPHA_IN_OUT':
|
||||||
|
aMode = BaseParticleRenderer.PRALPHAINOUT
|
||||||
elif alphaMode == 'ALPHA_USER':
|
elif alphaMode == 'ALPHA_USER':
|
||||||
aMode = BaseParticleRenderer.PRALPHAUSER
|
aMode = BaseParticleRenderer.PRALPHAUSER
|
||||||
self.particles.renderer.setAlphaMode(aMode)
|
self.particles.renderer.setAlphaMode(aMode)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user