Esempio n. 1
0
    def __init__(self,
                 name="MayaSpotLight",
                 enabled = True,
                 color = (1,1,1),
                 intensity = 1.0,
                 decayRate = 0,
                 coneAngle = 40,
                 penumbraAngle = 0,
                 dropoff = 0,

                 useDepthMapShadows = False,
                 dmapResolution = 512,
                 useMidDistDmap = True,
                 useDmapAutoFocus = True,
                 dmapFocus = 90.0,
                 dmapFilterSize = 1,
                 dmapBias = 0.001,
                 
                 target=vec3(0,0,0),  # spot
                 **params
                 ):

        LightSource.__init__(self, name=name, **params)

#        target = vec3(target)

        # Target
#        self.target_slot = Vec3Slot(target)
#        self.addSlot("target", self.target_slot)

        self.enabled = enabled
        self.color = vec3(color)
        self.intensity = float(intensity)
        self.decayRate = int(decayRate)
        self.coneAngle = float(coneAngle)
        self.penumbraAngle = float(penumbraAngle)
        self.dropoff = float(dropoff)

        self.useDepthMapShadows = bool(useDepthMapShadows)
        self.dmapResolution = int(dmapResolution)
        self.useMidDistDmap = bool(useMidDistDmap)
        self.useDmapAutoFocus = bool(useDmapAutoFocus)
        self.dmapFocus = float(dmapFocus)
        self.dmapFilterSize = float(dmapFilterSize)
        self.dmapBias = float(dmapBias)
Esempio n. 2
0
    def __init__(
        self,
        name="SpotLight3DS",
        enabled=True,  # off
        intensity=1.0,  # multiplier
        see_cone=False,
        roll=0.0,
        outer_range=0,
        inner_range=0,
        attenuation=0,
        rectangular_spot=0,
        shadowed=False,
        shadow_bias=0,
        shadow_filter=4.0,
        shadow_size=256,
        spot_aspect=0,
        use_projector=False,
        projector=0,
        overshoot=False,
        ray_shadows=False,
        ray_bias=False,
        hotspot=43,
        falloff=45,
        color=(1, 1, 1),
        target=vec3(0, 0, 0),  # spot
        #                 transform = None,
        #                 pos = None, rot = None, scale = None,
        #                 pivot= None,
        #                 offsetTransform = None,
        #                 auto_insert=True,
        **params
    ):

        LightSource.__init__(self, name=name, **params)

        target = vec3(target)

        # Target
        self.target_slot = Vec3Slot(target)
        self.addSlot("target", self.target_slot)

        self.enabled = enabled
        self.intensity = intensity
        self.attenuation = attenuation
        self.attenuation = attenuation
        self.inner_range = inner_range
        self.outer_range = outer_range
        self.falloff = falloff
        self.hotspot = hotspot
        self.overshoot = overshoot
        self.color = color
        self.shadowed = shadowed
        self.cast_shadow = shadowed
        self.shadow_filter = shadow_filter
        self.shadow_bias = shadow_bias
        self.shadow_size = shadow_size

        # Create the internal LookAt component
        self._lookat = lookat.LookAt()
        self._lookat.name = "SpotLight3DS_LookAt"
        self._lookat.output_slot.connect(self.rot_slot)
        self.pos_slot.connect(self._lookat.pos_slot)
        self.target_slot.connect(self._lookat.target_slot)
Esempio n. 3
0
room["foyer"].n_to = room["overlook"]
room["foyer"].e_to = room["narrow"]
room["overlook"].s_to = room["foyer"]
room["narrow"].w_to = room["foyer"]
room["narrow"].n_to = room["treasure"]
room["treasure"].s_to = room["narrow"]
room["streets"].s_to = room["city"]
room["streets"].n_to = room["outside"]
room["city"].n_to = room["streets"]

room["outside"].items.append(Item("sword", "Long Sword"))
room["outside"].items.append(Item("coins", "Gold Coins"))

# Gets random room and puts the torch there
key, random_room = random.choice(list(room.items()))
random_room.items.append(LightSource("torch", "Torch"))

#
# Main
#

# Make a new player object that is currently in the 'outside' room.

player = Player("Rodrigo", room["outside"])

# Write a loop that:
#
# * Prints the current room name
# * Prints the current description (the textwrap module might be useful here).
# * Waits for user input and decides what to do.
#
Esempio n. 4
0
    def __init__(
        self,
        name="SpotLight3DS",
        enabled=True,  # off
        intensity=1.0,  # multiplier
        see_cone=False,
        roll=0.0,
        outer_range=0,
        inner_range=0,
        attenuation=0,
        rectangular_spot=0,
        shadowed=False,
        shadow_bias=0,
        shadow_filter=4.0,
        shadow_size=256,
        spot_aspect=0,
        use_projector=False,
        projector=0,
        overshoot=False,
        ray_shadows=False,
        ray_bias=False,
        hotspot=43,
        falloff=45,
        color=(1, 1, 1),
        target=vec3(0, 0, 0),  # spot
        #                 transform = None,
        #                 pos = None, rot = None, scale = None,
        #                 pivot= None,
        #                 offsetTransform = None,
        #                 auto_insert=True,
        **params):

        LightSource.__init__(self, name=name, **params)

        target = vec3(target)

        # Target
        self.target_slot = Vec3Slot(target)
        self.addSlot("target", self.target_slot)

        self.enabled = enabled
        self.intensity = intensity
        self.attenuation = attenuation
        self.attenuation = attenuation
        self.inner_range = inner_range
        self.outer_range = outer_range
        self.falloff = falloff
        self.hotspot = hotspot
        self.overshoot = overshoot
        self.color = color
        self.shadowed = shadowed
        self.cast_shadow = shadowed
        self.shadow_filter = shadow_filter
        self.shadow_bias = shadow_bias
        self.shadow_size = shadow_size

        # Create the internal LookAt component
        self._lookat = lookat.LookAt()
        self._lookat.name = "SpotLight3DS_LookAt"
        self._lookat.output_slot.connect(self.rot_slot)
        self.pos_slot.connect(self._lookat.pos_slot)
        self.target_slot.connect(self._lookat.target_slot)
Esempio n. 5
0
# I keep forgetting to branch at the start

import textwrap
from room import Room
from item import Item
from lightsource import LightSource
from player import Player

wrapper = textwrap.TextWrapper(width=50)
play = True

# Declare all the rooms
amulet = Item("Amulet", "Revives the wearer's beloved")
trident = Item("Trident", "King Triton's prized posession")
torch = LightSource("Torch", "a wooden torch", True)

room = {
    'outside':
    Room("Outside Cave Entrance", "North of you, the cave mount beckons"),
    'foyer':
    Room(
        "Foyer", """Dim light filters in from the south. Dusty
passages run north and east.""", [torch]),
    'overlook':
    Room(
        "Grand Overlook", """A steep cliff appears before you, falling
into the darkness. Ahead to the north, a light flickers in
the distance, but there is no way across the chasm."""),
    'narrow':
    Room(
        "Narrow Passage", """The narrow passage bends here from west
Esempio n. 6
0
import printing
import commandparser as parser

# Declare the items
items = {
    'jewel':
    Treasure(100, "jewel", ["glittering"],
             "It is a deep red hue and seems to pulse to an unheard rhythm."),
    'locket':
    Item("locket", ["battered", "silver"],
         "Opening it reveals a faded photograph of two lovers."),
    'dagger':
    Weapon(10, "dagger", ["thin"],
           "It looks like it could be used to stab somebody."),
    'lantern':
    LightSource("lantern", ["spooky"],
                "It flickers gently as if spurred by an unfelt breeze.")
}

monsters = {
    'demon':
    Monster(
        "demon",
        "Its festering skin appears to be falling off with every movement", 10,
        5),
    'dragon':
    Monster(
        "dragon",
        "It fills the room with its presence, and the air with the choking fumes of its breath",
        100, 20)
}