GraphicsInterfaces

Details

Introduction

The Graphics Interface Module is intended to provide a standard set of interfaces that can be used to manipulate a variety of rendering components, including custom rendering components. It also provide a set of adapter classes that provide the ability to use these interfaces with standard unity components. All classes defined in this DLL are found in the EyEengines.Unity.Graphics namespace.

Interfaces

The main interfaces provided are:

ExtensionFunctions

Each interface has a static, companion class that provides extension functions for the interface, providing the user with various useful functions that can be used upon objects that implement the interface.

Adapters

In addition, some concrete adapter components are provided to allow standard unity components to be accessed via the interfaces. This module will automatically attempt to extract the icons associated with these components, into the project's assets/gizmos/EyEengines folders: no files or folders will be created without explicit permission. These adapter classes include:

Components

Two concrete components are also included, which will interface with descendants, but do not require any particular components are:

Modules

 EyEengines.GraphicsInterfaces.UnityEditor.dll
 
 EyEengines.GraphicsInterfaces.dll
 

Classes

class  BaseRendererToGraphicsInterfaceAdapter< TRendererType >
 Abstract base class from which all Unity renderer to GraphicsInterface adapters are descended. This class implements all the various IGraphics interfaces: IGraphicsMaterialPropertyBlockInterface, IGraphicsColorInterface, IGraphicsTexureInterface, IGraphicsBounds, and IGraphicsViewable.
 
class  BaseRendererToGraphicsInterfaceAdapterEditor< TRendererType >
 Custom Editor case class. Inherited from to display specific types of BaseRendererToGraphicsInterfaceAdapterEditor descendants in the Unity Editor. Derived classes may override the various "show" members to return false, if they don't want particular sections drawn.
 
class  ColliderToGraphicsBoundsInterfaceAdapter
 The component will take the provided colliderRef and use it to implement and IGraphicsBounds interface. the colliderRef member is initialized with the first collider component found on the same GameObject as this component. It provides the ability to get a local bounds value, that optionally, encapsulates any IGraphicsBounds found as descendants in the scene hierarchy.
 
class  CustomRenderer
 This class is useful when one wants to provide custom drawing functions, but still want all the input variables provided in the standard Unity Renderer component. The unity class is sealed, but this version is not. This class provides no functionality beyond storage of variables, it is up to descendant classes to provide the drawing routines, and execute them at the appropriate times. A few functions for which a default value would make sense, are declare as abstract, and MUST be defined by descendant classes.
 
class  CustomRendererEditor
 You can derive your own editors, for objects derived from custom renderer, from this class. you can override the various "show" member accessors to specify if particular sections should not be drawn.
 
class  DecendantIViewableToggler
 This component will ONLY affect other components, on this object and it's descendants, that implement the IGraphicsViewable interface. It does not affect any other type of components directly.
 
class  DecendantsOnlyBounds
 This component will ONLY extract bound information from other components, on this object and it's descendants, that implement the IGraphicsBounds interface. It does not consider any other type of components directly.
 
class  GradientStorage
 Little more than storage and extensions for Unity's Gradient. It provides Equals functionality allow comparisons and searching.
 
class  GraphicInterfacesEdiorComponent
 Class Used to run upon load. Currently only checks to see if component icons exist, and extracts them if so.
 
interface  IGraphicsBounds
 This interface defines standard methods which custom classes can implement to provide a standard method of getting the bounds of an object. Adapter Components are provided to allow standard unity components that do not implement this interface, to adapt/bridge the default component into one.
 
class  IGraphicsBoundsExtensions
 This class provides two transformation and a descendant-encapsulation functions that can be applied to Bounds, and IGraphicsBounds objects.
 
interface  IGraphicsColorInterface
 Implement this interface on any class that draws to the screen, to provide it with a common way to change the color. Other Components in this module have "GraphicInterfaceAdapaters", that provide this interface for most of Unity's screen drawing components.
 
interface  IGraphicsMaterialPropertyBlockInterface
 Interface that provides a standard way to access the material property block on various renderer materials.
 
interface  IGraphicsMultiMaterialPropertyBlockInterface
 Interface that provides a standard way to access the material property block on various renderer with multiple materials.
 
interface  IGraphicsTexureInterface
 Implement this interface on any class that draws to the screen, to provide it with a common way to change the displayed texture. Other Components in this module have "GraphicInterfaceAdapaters", that provide this interface for most of Unity's screen drawing components.
 
interface  IGraphicsViewable
 Provides a standard interface to enable/disable all renderer components, including those on descendants, without affecting other components on the object.
 
class  IGraphicsViewableExtensions
 Provides functions to get/set the isViewable flag of any IGraphicsViewable components in a given object, and it's descendants.
 
class  MaterialPropertyBlockInterfaceExtensions
 Static extension class that provides useful functions on things that can be done through MaterialPropertyBlockInterfaces.
 
class  MeshRendererToGraphicsInterfaceAdapter
 This class provides a way to access a MeshRenderer component, on the same GameObject, through all the various IGraphics interfaces.
 
class  MeshRendererToGraphicsInterfaceAdapterEditor
 This editor will use the BaseRendererToGraphicsInterfaceAdapterEditor class it derives from, to draw the component.
 
class  SpriteRendererToGraphicsInterfaceAdapter
 This class provides a way to access a SpriteRenderer component, on the same GameObject, through all the various IGraphics interfaces.
 
class  SpriteRendererToGraphicsInterfaceAdapterEditor
 This editor will use the BaseRendererToGraphicsInterfaceAdapterEditor class it derives from, to draw the component.
 
class  TextMeshToColorInterfaceAdapterEditor
 Custom Editor for TextMeshAdapater
 
class  TextMeshToViewableColorInterfaceAdapter
 This class provides a way to access a Unity TextMesh via some of the IGraphics interfaces: IGraphicsColorInterface and IGraphicsViewable