• Installation Guide
  • Amoebot Model
  • User Guide
  • Model Reference
  • Dev Guide
  • API Documentation
Search Results for

    Show / Hide Table of Contents
    • AS2
      • AlgorithmGenerator
      • AlgorithmGeneratorEditor
      • AlgorithmManager
      • AlgorithmManager.AlgorithmInfo
      • AmoebotFunctions
      • AmoebotSimulator
      • CameraUtils
      • CellRect
      • CellRect.CellRect_Iterator
      • ColorData
      • Config
      • ConfigData
      • ConfigData.AdditionalConfiguration
      • ConfigData.SettingsMenu
      • ConfigurationEditor
      • ConfigurationEditorBehavior
      • Constants
      • Direction
      • DirectionHelpers
      • EventDatabase
      • FileBrowser
      • FileBrowser.FileTypeHandler
      • FilePaths
      • InitModeSaveData
      • InitParticleSaveData
      • InitRandomWithHoles
      • Initialization
      • Initialization.Chirality
      • Initialization.Compass
      • InitializationMethod
      • InitializationMethod.DistanceSortedVectorList
      • InitializationMethodManager
      • InitializationMethodManager.AlgorithmInfo
      • InitializationStateSaveData
      • Log
      • MaterialDatabase
      • MessageSaveData
      • MinMax
      • MouseController
      • PSPlacementMode
      • ParticleAttributeEnumSaveData
      • ParticleAttributePCSaveData
      • ParticleAttributeSaveDataBase
      • ParticleAttributeSaveData<T>
      • ParticleObjectSaveData
      • ParticleStateSaveData
      • PinConfigurationHistorySaveData
      • PinConfigurationSaveData
      • RandomNumberGenerator
      • SaveStateUtility
      • SimulationStateSaveData
      • StatusInfoAttribute
      • TypeConverter
      • TypeConverter.ConversionResult
      • UIDatabase
      • ValueHistorySaveData<T>
    • AS2.Algos.BeepFailureTest
      • BeepFailureTestParticle
    • AS2.Algos.BinOpTest
      • BinOpTestInitializer
      • BinOpTestParticle
      • BinOpTestParticle.Mode
    • AS2.Algos.BoundaryTest
      • BoundaryTestParticle
      • Phase
      • SCMode
    • AS2.Algos.BoundaryTestSub
      • BoundaryTestSubParticle
    • AS2.Algos.ChiralityCompass
      • ChiralityAndCompassInitializer
      • ChiralityAndCompassParticle
      • CoinTossResult
      • DirectionMessage
    • AS2.Algos.CollisionTestAlgo
      • CollisionTestAlgoInitializer
      • CollisionTestAlgoParticle
    • AS2.Algos.CollisionTestAlgo2
      • CollisionTestAlgo2Initializer
      • CollisionTestAlgo2Particle
      • Role
    • AS2.Algos.ExpandedCircuitTest
      • ExpandedCircuitTestInitializer
      • ExpandedCircuitTestParticle
    • AS2.Algos.JMTest
      • JMTestInitializer
      • JMTestParticle
    • AS2.Algos.LeaderElection
      • LeaderElectionInitializer
      • LeaderElectionParticle
    • AS2.Algos.LineFormation
      • LineFormationInitializer
      • LineFormationParticleSync
      • LineFormationParticleSync.LFState
      • MyMessage
      • MyMessage.Direction
    • AS2.Algos.ObjectTest
      • ObjectTestInitializer
      • ObjectTestParticle
    • AS2.Algos.PASCTestAlgo
      • PASCTestAlgoInitializer
      • PASCTestAlgoParticle
    • AS2.Algos.SingleSourceSP
      • SingleSourceSPInitializer
      • SingleSourceSPParticle
      • SingleSourceSPParticle.Phase
    • AS2.Algos.SmartMaterial
      • SmartMaterialInitializer
      • SmartMaterialParticle
    • AS2.Algos.SubroutineTest
      • SubroutineTestInitializer
      • SubroutineTestParticle
    • AS2.Algos.SubroutineTest2
      • SubroutineTest2Initializer
      • SubroutineTest2Particle
    • AS2.Sim
      • ActionType
      • AlgorithmException
      • AmoebotSimException
      • BondMovementInfo
      • BondMovementInfoList
      • Circuit
      • CollisionChecker
      • CollisionChecker.DebugLine
      • EdgeMovement
      • IParticleAttribute
      • IParticleObject
      • IReplayHistory
      • InitializationParticle
      • InvalidActionException
      • JointMovementInfo
      • Message
      • Neighbor<T>
      • OpenInitParticle
      • Particle
      • ParticleAction
      • ParticleAlgorithm
      • ParticleAttributeBase
      • ParticleAttributeFactory
      • ParticleAttributeWithHistory<T>
      • ParticleAttribute_Bool
      • ParticleAttribute_Direction
      • ParticleAttribute_Enum<T>
      • ParticleAttribute_Float
      • ParticleAttribute_Int
      • ParticleAttribute_PinConfiguration
      • ParticleAttribute_String
      • ParticleAttribute<T>
      • ParticleException
      • ParticleFactory
      • ParticleObject
      • ParticleSystem
      • ParticleSystem_Utils
      • PartitionSet
      • Pin
      • PinConfiguration
      • SimulationException
      • SimulatorException
      • SimulatorStateException
      • SysPartitionSet
      • SysPin
      • SysPinConfiguration
      • ValueHistoryBondInfo
      • ValueHistoryJointMovement
      • ValueHistoryMessage
      • ValueHistoryPinConfiguration
      • ValueHistory<T>
    • AS2.Subroutines
      • Subroutine
    • AS2.Subroutines.BinStateHelpers
      • BinAttributeBitField
      • BinAttributeBool
      • BinAttributeDirection
      • BinAttributeEnum<T>
      • BinAttributeInt
      • BinAttribute<T>
    • AS2.Subroutines.BinaryOps
      • BinOpUtils
      • SubAddition
      • SubBinOps
      • SubBinOps.Mode
      • SubComparison
      • SubComparison.ComparisonResult
      • SubDivision
      • SubMSBDetection
      • SubMultiplication
      • SubSubtraction
    • AS2.Subroutines.BoundaryTest
      • SubBoundaryTest
    • AS2.Subroutines.ETT
      • Comparison
      • SubETT
    • AS2.Subroutines.LeaderElection
      • SubLeaderElection
    • AS2.Subroutines.LeaderElectionFast
      • SubLeaderElectionFast
    • AS2.Subroutines.LeaderElectionSync
      • SubLeaderElectionSync
    • AS2.Subroutines.PASC
      • SubPASC
      • SubPASC2
      • SubPASC2.NbrType
    • AS2.UI
      • ButtonHoldTrigger
      • ClickAction
      • ClickAction.ClickButton
      • ClickAction.ClickType
      • InitializationUIHandler
      • InputAction
      • InputAction.InputType
      • InputController
      • InputHandler
      • InputHandler.MouseState
      • InputManager
      • LineDrawer
      • LogUIHandler
      • LogUIHandler.EntryType
      • ObjectUIHandler
      • ParticleUIExtensionSmoothLerp
      • ParticleUIHandler
      • SettingsUIHandler
      • SizeFitter
      • Tooltip
      • TooltipHandler
      • UIHandler
      • UIHandler.UITool
      • UISetting
      • UISetting_Color
      • UISetting_Color.InputType
      • UISetting_Dropdown
      • UISetting_Header
      • UISetting_MinMax
      • UISetting_MinMax.InputType
      • UISetting_Slider
      • UISetting_Spacing
      • UISetting_Text
      • UISetting_Text.InputType
      • UISetting_Toggle
      • UISetting_ValueSlider
      • WorldSpaceBackgroundUIHandler
      • WorldSpaceUIHandler
      • WorldSpaceUIHandler.ParticleTextUIData
      • WorldSpaceUIHandler.TextType
    • AS2.Visuals
      • CircleDistributionCircleArea
      • CircleDistributionCircleLine
      • IGenerateDynamicMesh
      • IObjectInfo
      • IParticleGraphicsAdapter
      • IParticleState
      • InstancedDrawer
      • MaterialPropertyBlockData
      • MaterialPropertyBlockData_Circuits
      • MaterialPropertyBlockData_Objects
      • MaterialPropertyBlockData_Particles
      • MeshCreator_CircularView
      • MeshCreator_HexagonalView
      • ObjectGraphicsAdapter
      • ObjectGraphicsAdapter.VertexInfo
      • PSetDragHandler
      • ParticleBondGraphicState
      • ParticleGraphicsAdapterImpl
      • ParticleGraphicsAdapterImpl.ParticleMovement
      • ParticleGraphicsAdapterImpl.PositionSnap
      • ParticleJointMovementState
      • ParticleMovementState
      • ParticlePinGraphicState
      • ParticlePinGraphicState.CodeOverrideType_Node
      • ParticlePinGraphicState.NeighborPinConnection
      • ParticlePinGraphicState.PSetData
      • ParticlePinGraphicState.PSetData.GraphicalData
      • ParticlePinGraphicState.PSetData.GraphicalData.CodeOverrideType_PSet
      • ParticlePinGraphicState.PinDef
      • PartitionSetViewType
      • Polar2DCoordinate
      • PriorityQueue<T>
      • RenderBatchIndex
      • RenderSystem
      • RendererBackground
      • RendererCircuitPins_RenderBatch
      • RendererCircuitPins_RenderBatch.PropertyBlockData
      • RendererCircuitsAndBonds
      • RendererCircuits_Instance
      • RendererCircuits_Instance.GDRef
      • RendererCircuits_Instance.ParticleCircuitData
      • RendererCircuits_Instance.ParticleCircuitData.PSetInnerPinRef
      • RendererCircuits_Instance.ParticleCircuitData.PSetInnerPinRef.PinType
      • RendererCircuits_RenderBatch
      • RendererCircuits_RenderBatch.PropertyBlockData
      • RendererCircuits_RenderBatch.PropertyBlockData.ActiveState
      • RendererCircuits_RenderBatch.PropertyBlockData.LineType
      • RendererObjects
      • RendererParticles
      • RendererParticles_RenderBatch
      • RendererParticles_RenderBatch.PropertyBlockData
      • RendererUI
      • TextureCreator
      • ViewType
    • AS2.Visuals.Library
      • DegreeConstants
      • InterpolationConstants
      • MatrixConstants
      • MeshConstants
      • VectorConstants
      • BasicSample
      • CanvasSampleSaveFileImage
      • CanvasSampleSaveFileText
      • HexagonalExpansionPrototype

    Class TextureCreator

    This class dynamically creates textures at runtime. For example, we take textures like hexagons as input and print a variable number of pins onto it. The class also uses the generated textures to create materials.

    Inheritance
    object
    TextureCreator
    Namespace: AS2.Visuals
    Assembly: .dll
    Syntax
    public static class TextureCreator

    Fields

    hexagonCircMaterials

    Declaration
    public static Dictionary<int, Material> hexagonCircMaterials
    Field Value
    Type Description
    Dictionary<int, Material>

    hexagonCircTexture

    Declaration
    private static Texture2D hexagonCircTexture
    Field Value
    Type Description
    Texture2D

    hexagonCircTextures

    Declaration
    public static Dictionary<int, Texture2D> hexagonCircTextures
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    hexagonMaterials

    Declaration
    public static Dictionary<int, Material> hexagonMaterials
    Field Value
    Type Description
    Dictionary<int, Material>

    hexagonTexture

    Declaration
    private static Texture2D hexagonTexture
    Field Value
    Type Description
    Texture2D

    hexagonTextures

    Declaration
    public static Dictionary<int, Texture2D> hexagonTextures
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderCircTextures3Pins1

    Declaration
    public static Dictionary<int, Texture2D> pinBorderCircTextures3Pins1
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderCircTextures3Pins2

    Declaration
    public static Dictionary<int, Texture2D> pinBorderCircTextures3Pins2
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderCircTextures5Pins1

    Declaration
    public static Dictionary<int, Texture2D> pinBorderCircTextures5Pins1
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderCircTextures5Pins2

    Declaration
    public static Dictionary<int, Texture2D> pinBorderCircTextures5Pins2
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderHexCircMaterials

    Declaration
    public static Dictionary<int, Material> pinBorderHexCircMaterials
    Field Value
    Type Description
    Dictionary<int, Material>

    pinBorderHexMaterials

    Declaration
    public static Dictionary<int, Material> pinBorderHexMaterials
    Field Value
    Type Description
    Dictionary<int, Material>

    pinBorderTextureEmpty

    Declaration
    public static Texture2D pinBorderTextureEmpty
    Field Value
    Type Description
    Texture2D

    pinBorderTextures3Pins1

    Declaration
    public static Dictionary<int, Texture2D> pinBorderTextures3Pins1
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderTextures3Pins2

    Declaration
    public static Dictionary<int, Texture2D> pinBorderTextures3Pins2
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderTextures5Pins1

    Declaration
    public static Dictionary<int, Texture2D> pinBorderTextures5Pins1
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinBorderTextures5Pins2

    Declaration
    public static Dictionary<int, Texture2D> pinBorderTextures5Pins2
    Field Value
    Type Description
    Dictionary<int, Texture2D>

    pinTexture

    Declaration
    private static Texture2D pinTexture
    Field Value
    Type Description
    Texture2D

    transTexture

    Declaration
    private static Texture2D transTexture
    Field Value
    Type Description
    Texture2D

    Methods

    GetHexagonBaseTextureWithPins(int, ViewType)

    Creates a texture from one of the base hexagon textures and dots which represent the pins. The pins are merged on top of the original hexagon to get a figure with pins.

    Declaration
    private static Texture2D GetHexagonBaseTextureWithPins(int pinsPerSide, ViewType viewType)
    Parameters
    Type Name Description
    int pinsPerSide

    The amount of pins per side.

    ViewType viewType

    The view type, e.g. the standard hexagon or the circular view. Please only use Hexagonal and HexagonalCirc here (the hexagonal base grid view), Circular (the graph view) is not meant to work.

    Returns
    Type Description
    Texture2D

    A texture containing a hexagon or circle based on viewType with pinsPerSide pins on each of its six edges.

    GetHexagonWithPinsMaterial(int, ViewType)

    Creates the material with the generated texture for the pins with the visible hexagon. Read the method doc of GetHexagonBaseTextureWithPins(int, ViewType) to gain more info.

    Declaration
    public static Material GetHexagonWithPinsMaterial(int pinsPerSide, ViewType viewType)
    Parameters
    Type Name Description
    int pinsPerSide

    The amount of pins per side.

    ViewType viewType

    The view type, Hexagonal or HexagonalCirc, not Circular!

    Returns
    Type Description
    Material

    The material used to draw particles with pinsPerSide pins in the hexagonal view type viewType.

    GetPinBorderMaterial(int, ViewType)

    Creates the material with the generated texture for the pins with the invisible hexagon. Read the method doc to GetPinBorderTexture(int, bool, bool, int, bool, ViewType) to gain more info.

    Declaration
    public static Material GetPinBorderMaterial(int pinsPerSide, ViewType viewType)
    Parameters
    Type Name Description
    int pinsPerSide

    The amount of pins per side.

    ViewType viewType

    The view type, Hexagonal or HexagonalCirc, not Circular!

    Returns
    Type Description
    Material

    A material that only renders pins, only while the particle is not moving.

    GetPinBorderTexture(int, bool, bool, int, bool, ViewType)

    This thing creates a texture from a transparent texture and dots which represent the pins. The pins are merged on top of the original transparent texture to get a texture with pins. This is done to lay this texture with a mesh on top of the original hexagon, so we can fit circuits in between the two meshes and give the impression that all is one connected component.

    Declaration
    private static Texture2D GetPinBorderTexture(int pinsPerSide, bool omitSide, bool omit3Pins, int omittedSide, bool isTex1, ViewType viewType)
    Parameters
    Type Name Description
    int pinsPerSide

    The amount of pins per side.

    bool omitSide

    Whether one side's pins should be omitted.

    bool omit3Pins

    Whether three pins should be omitted (the omittedSide and the two neighboring sides).

    int omittedSide

    The side of the omitted pin/s.

    bool isTex1

    Whether this is texture 1 of the 2 possible texture positions in the final shader. One of the two textures is used for the stationary part and one for the moving part during an animation.

    ViewType viewType

    The type of the base hexagon texture. Circular and hexagonal forms have different pin positions. Accepted inputs: Hexagonal or HexagonalCirc, but not Circular!

    Returns
    Type Description
    Texture2D

    A transparent texture with the specified pins.

    GetPinBorderTextureEmpty()

    Declaration
    private static Texture2D GetPinBorderTextureEmpty()
    Returns
    Type Description
    Texture2D
    In this article
    Back to top AmoebotSim 2.0 Documentation v1.11
    Copyright © 2025 AmoebotSim 2.0 Authors
    Generated by DocFX