from math import floor from sortedcontainers import SortedDict from panda3d.core import NodePath, BitMask32, StencilAttrib from terrain.chunk import Chunk from terrain.pathfinder import PathFinder from config import map_params import config from tiles import Empty from towers import Center, Tower constant_one_stencil = StencilAttrib.make( 1, StencilAttrib.SCFAlways, StencilAttrib.SOZero, StencilAttrib.SOReplace, StencilAttrib.SOReplace, 1, 0, 1 ) stencil_reader = StencilAttrib.make( 1, StencilAttrib.SCFEqual, StencilAttrib.SOKeep, StencilAttrib.SOKeep, StencilAttrib.SOKeep, 1, 1, 0 ) class Terrain: """The class holding the whole map.""" def __init__(self, render, loader): self.chunk_map = SortedDict()
loadPrcFileData('', "sync-video 0") loadPrcFileData('', 'task-timer-verbose 1') loadPrcFileData('', 'pstats-tasks 1') loadPrcFileData('', 'want-pstats 1') loadPrcFileData('', 'framebuffer-stencil 1') #loadPrcFileData('', 'show-buffers 1') #loadPrcFileData('', 'notify-level-glgsg debug') import sandbox import shapeGenerator from panda3d.core import AmbientLight, ColorWriteAttrib, NodePath, Shader, StencilAttrib, Vec4 # Set up stenciling system stencilReader = StencilAttrib.make(1,StencilAttrib.SCFEqual,StencilAttrib.SOKeep, StencilAttrib.SOKeep,StencilAttrib.SOKeep,1,1,0) constantOneStencil = StencilAttrib.make(1,StencilAttrib.SCFAlways,StencilAttrib.SOZero, StencilAttrib.SOReplace,StencilAttrib.SOReplace,1,0,1) #mesh = shapeGenerator.Tube(0.18, 0.18, 5.0, 32) # To be render on texture #inside_vortex = shapeGenerator.ShellCylinder(-0.18, 5.0, 32) inside_vortex = shapeGenerator.Circle(0.18, 32) inside_vortex.node().setAttrib(constantOneStencil) inside_vortex.node().setAttrib(ColorWriteAttrib.make(0)) inside_vortex.setBin('background', 0) inside_vortex.setDepthWrite(0) #inside_vortex.setH(180) inside_vortex.setP(180)
loadPrcFileData('', 'task-timer-verbose 1') loadPrcFileData('', 'pstats-tasks 1') loadPrcFileData('', 'want-pstats 1') loadPrcFileData('', 'framebuffer-stencil 1') #loadPrcFileData('', 'show-buffers 1') #loadPrcFileData('', 'notify-level-glgsg debug') import sandbox import shapeGenerator from panda3d.core import AmbientLight, ColorWriteAttrib, NodePath, Shader, StencilAttrib, Vec4 # Set up stenciling system stencilReader = StencilAttrib.make(1, StencilAttrib.SCFEqual, StencilAttrib.SOKeep, StencilAttrib.SOKeep, StencilAttrib.SOKeep, 1, 1, 0) constantOneStencil = StencilAttrib.make(1, StencilAttrib.SCFAlways, StencilAttrib.SOZero, StencilAttrib.SOReplace, StencilAttrib.SOReplace, 1, 0, 1) #mesh = shapeGenerator.Tube(0.18, 0.18, 5.0, 32) # To be render on texture #inside_vortex = shapeGenerator.ShellCylinder(-0.18, 5.0, 32) inside_vortex = shapeGenerator.Circle(0.18, 32) inside_vortex.node().setAttrib(constantOneStencil) inside_vortex.node().setAttrib(ColorWriteAttrib.make(0)) inside_vortex.setBin('background', 0) inside_vortex.setDepthWrite(0)