| Class | Description |
---|
| BezierCurve |
BezierCurve class is used to create a 3D Bezier curve.
|
| BitmapFont |
BitmapFont class defines a font that is created by a bitmap with rendered characters and font data that define where on the bitmap each character is.
This class can read bitmap font from binary data (usually form .fnt files).
The created BitmapFont can be used by the BitmapTextCreator.
To use the build-in default font call the GetDefaultBitmapTextCreator(Scene) method.
See remarks for the BitmapTextCreator for more information on how to generate bitmap font files.
|
| BitmapFontCharacter | |
| BitmapTextCreator |
BitmapTextCreator class can be used to generate SceneNodes that show text by using bitmap fonts.
Bitmap font is defined by one or more textures with rendered characters and font data that define where on the texture the character is.
The binary font data can be created by a third party "Bitmap Font Generator" (for example from https://www.angelcode.com/products/bmfont/).
To use the build-in default font call the GetDefaultBitmapTextCreator(Scene) method.
See remarks for more information on how to generate bitmap font files.
|
| BSpline |
BSpline class is used to create a 3D B-spline.
|
| CameraController |
CameraController is an abstract class that provides the basic code for mouse or touch camera controller for camera rotation, movement and quick zoom.
Usually this class is used by the platform specific MouseCameraController that is defined in per-platform assembly (for example Ab4d.SharpEngine.Wpf, Ab4d.SharpEngine.WinUI, Ab4d.SharpEngine.AvaloniaUI).
The class can be also used by the ManualMouseCameraController to manually provide mouse events.
|
| CameraUtils |
CameraUtils class contains some helper methods to work with cameras.
|
| CommonStatesManager |
CommonStatesManager defines the common GPU states.
|
| ConditionalLogger |
ConditionalLogger has Write methods available only when compiled with FULL_LOGGING constant
|
| DisposeList |
DisposeList contains a list of IDisposable objects that are automatically disposed when DisposeList is disposed.
The order of disposal is reversed from the order in which the objects were added to the list (first object is disposed last).
|
| DynamicMemoryBlockT |
DynamicMemoryBlock creates an array of T structs that can be accessed with the Data field.
It provides GetNextFreeIndex method to get index of next free item in the Data array (this method sets the returned index as used).
The FreeIndex(Int32) method frees the specified index.
The class is using a very memory efficient bits from an array of ulong values to mark which elements in the Data array are used and which are free.
|
| EffectsManager |
EffectsManager class help use the Effect classes.
It provides loading, caching and reusing the effects and shaders.
All access to effects and shaders is thread safe.
|
| FileUtils |
FileUtils static class contains method that help working with files.
|
| GpuDynamicMemoryBlockT | |
| GpuDynamicMemoryBlockPoolT | |
| GpuSamplerManager |
GpuSamplerManager can be used to get the common textures samplers or create a custom sampler.
Sampler defines how the texture bitmap is read by the GPU.
The default sampler in SharpEngine is MirrorSampler.
|
| GpuVertexBufferDescriptionsManager | |
| HeapAllocator | |
| HitTester |
HitTester is a class that can be used do a hit testing on a mesh data with vertex and index buffer.
The static methods in this class take a Ray, various types of vertex buffers, index buffer and a few flags and returns a hit test result.
|
| LicenseLogger |
LicenseLogger has Write methods available only when compiled with LICENSE_LOGGING constant.
It always writes log messages with License log level.
|
| LineSelectorData |
LineSelectorData class can be used to get the closest distance of a specified screen position to the 3D line that is used to create an instance of LineSelectorData.
When LineSelectorData is created with LineNode parameter, then LineNode's WorldMatrix will be used to transform all the line positions.
It is also possible to apply custom transformation by setting the the PositionsTransform property. In this case the LineNode's WorldMatrix is not used.
|
| LineUtils |
LineUtils class defines static methods that can be used to create wireframe lines, normal lines and edge lines.
|
| Log | |
| ManualMouseCameraController |
ManualMouseCameraController is a camera controller that can control the camera by mouse events.
Because ManualMouseCameraController is cross-platform it does not provide any actual mouse binding.
Therefore user must manually call ProcessMouseDown(Vector2, MouseButtons, KeyboardModifiers), ProcessMouseUp(MouseButtons, KeyboardModifiers), ProcessMouseMove(Vector2, MouseButtons, KeyboardModifiers) and ProcessMouseWheel(Vector2, Single) methods.
|
| MathUtils | |
| MemoryUtils |
MemoryUtils is a static class that contains methods and property that can be used to perform advanced memory copy operations by using AVX2 NonTemporal instructions.
Do disable AVX2 NonTemporal, set the static UseAdvancedMemoryCopyInstructions to false.
|
| MeshAnalyzer |
MeshAnalyzer class can analyze the mesh and produce a list of Edges and Polygons (triangles) that define the mesh.
MeshAnalyzer can also create edge lines that are created between triangles that have normal angles bigger than the specified angle.
|
| MeshBooleanOperations |
MeshBooleanOperations static class defines methods that can execute subtract, intersect or union operations on 3D models.
|
| MeshUtils |
MeshUtils provides static helper methods for working with 3D meshes.
|
| ModelUtils |
ModelUtils class contains static methods that can process ModelNode objects that are children of a GroupNode.
|
| ObjectPoolT |
Dynamic object pool that allocate new instance when necessary.
|
| PlanarShadowMeshCreator |
PlanarShadowMeshCreator is a class that can be used to create a a planar shadow mesh.
|
| PngBitmapIO |
PngBitmapIO is a build-in png reader and writer and implement bitmap IO operations that are defined in IBitmapIO interface.
|
| ReaderObj |
ReaderObj can read 3D models from obj files.
|
| ResourceTracker |
ResourceTracker collects classes that implement ComponentBase and can report all created objects. Objects are collected with WeakReference.
Resource tracker is also used to get the next object id by calling its GetNextId(IComponentBase) method.
|
| ShadersManager |
ShadersManager provides methods for loading and caching shaders (vertex, geometry, fragment shaders).
|
| SpriteBatch |
SpriteBatch class defines a collection of sprites (textures) or texts that can be very quickly rendered to the 3D scene.
SpriteBatch objects can be created by calling Scene.CreateBackgroundSpriteBatch(String), Scene.CreateOverlaySpriteBatch(String), SceneView.CreateBackgroundSpriteBatch(String) or SceneView.CreateOverlaySpriteBatch(String).
When the SpriteBatch is created from SceneView, then it can use absolute coordinates when calling Draw methods.
|
| StandardLogger | |
| TextBlockFactory |
TextBlockFactory is a helper class that can create text blocks with specified background and border.
The TextBlockFactory can use the default SharpEngine's BitmapTextCreator (created by GetDefaultBitmapTextCreator(Scene))
or can be created by a custom BitmapTextCreator.
|
| TextureFactory |
TextureFactory is a static helper class that defines methods to create textures.
|
| TextureLoader |
TextureLoader is a static helper class that can be used to create a texture (as GpuImage) from a file.
The file can be loaded by providing the file name or the file stream.
The texture (GpuImage) can be created by calling CreateTexture method.
The created texture can also be cached by the Scene or GpuDevice. Also, before loading the file, the Scene or GpuDevice cache can be checked if the file was already loaded.
See remarks for more info.
|
| TransformationUtils |
TransformationUtils is a static helper class that defines method that helps working with transformations.
|
| Triangulator |
Triangulator can be used to convert one or more polygons that are defined by a list of 2D points into triangles (triangle indices).
|
| VertexBufferDescription | |
| VulkanDebugUtils | |
| VulkanMemoryAllocator | |
| VulkanSharedTextureHelper | |