nCine namespace

Root namespace of nCine game engine.

Namespaces

namespace Backends
Platform-specific backends.

Classes

template<class S>
class AABB
Axis-Aligned Bounding Box in a two dimensional space.
class AccelerometerEvent
Information about an accelerometer event.
class ALAudioDevice
OpenAL audio device backend implementation.
class AndroidApplication
Main entry point and handler for Android applications.
class AnimatedSprite
Animated sprite.
class AppConfiguration
Stores initialization settings for an nCine application.
class Application
Base class for main entry points of nCine applications.
class AudioBuffer
OpenAL audio buffer.
class AudioBufferPlayer
Audio buffer player.
class AudioLoaderMpt
Module audio loader using libopenmpt library.
class AudioLoaderOgg
Ogg Vorbis audio loader using libvorbis library.
class AudioLoaderWav
WAVE audio loader.
class AudioReaderMpt
Module audio reader using libopenmpt library.
class AudioReaderOgg
Ogg Vorbis audio reader using libvorbis library.
class AudioReaderWav
WAVE audio reader.
class AudioStream
OpenAL audio stream.
class AudioStreamPlayer
Audio stream player.
class Barrier
Barrier for threads synchronization.
class BaseSprite
Base class for sprites.
struct BidirectionalIteratorTag
Dispatching tag for iterators that can move both ways, one element at a time.
class BinaryShaderCache
Manages the cache of binary OpenGL shader programs.
class BitArray
Bit array.
class BitArrayIndex
Index in a bit array.
template<class T>
class BitSet
A sequence of bits to be manipulated with logical operators.
class Camera
Camera that handles matrices for shaders.
template<class K>
class CityHash32Func
CityHash hash function (32-bit)
template<class K>
class CityHash64Func
CityHash hash function (64-bit)
class Clock
System clock.
class Color
Four-channels color with 8-bits integer per component.
class ColorAffector
Particle color affector.
class Colorf
Four-channels normalized color with float per component.
class CondVariable
Condition variable for threads synchronization.
class DisplayMode
Display properties.
class DrawableNode
Object that can be drawn through the render queue.
template<class K>
class FastHashFunc
Fast-hash.
template<class K>
class FixedHashFunc
Hash function returning always the first hashmap bucket, for debug purposes.
template<class K>
class FNV1aHashFunc
Fowler-Noll-Vo Hash (FNV-1a)
struct ForwardIteratorTag
Dispatching tag for iterators that can only move forward, one element at a time.
class FrameTimer
Frame interval and average FPS calculator.
class Geometry
Contains geometric data for a drawable node.
class GfxCapabilities
Stores and retrieves runtime OpenGL device capabilities.
class GLAttribute
Stores information about an active OpenGL shader attribute.
class GLBlending
Handles OpenGL blending.
class GLBufferObject
Handles OpenGL buffer objects of different kinds.
class GLBufferObjectMappingFunc
Performs a mapping between OpenGL buffer object targets and array indices.
class GLClearColor
Handles OpenGL clear color.
class GLCullFace
Handles OpenGL face culling.
class GLDebug
Handles OpenGL debug functions.
class GLDepthTest
Handles OpenGL depth test.
class GLFramebuffer
Handles OpenGL framebuffer objects.
template<unsigned int S, class MappingFunc>
class GLHashMap
Naive implementation of a hashmap for storing pairs of OpenGL targets and object IDs.
class GLRenderbuffer
Handles OpenGL renderbuffer objects.
class GLScissorTest
Handles OpenGL scissor test.
class GLShader
Handles OpenGL shader objects.
class GLShaderProgram
Handles OpenGL shader programs.
class GLShaderUniformBlocks
Handles all the uniform blocks of a shader program.
class GLShaderUniforms
Handles all the uniforms of a shader program.
class GLTexture
Handles OpenGL 2D textures.
class GLTextureMappingFunc
Performs a mapping between OpenGL texture targets and array indices.
class GLUniform
Stores information about an active OpenGL shader uniform.
class GLUniformBlock
Stores information about an OpenGL uniform block.
class GLUniformBlockCache
Caches a uniform block buffer and then updates it in the shader.
class GLUniformCache
Caches a uniform value and then updates it in the shader.
class GLVertexArrayObject
Handles OpenGL vertex array object.
class GLVertexFormat
Collects all the state that specifies the format of a vertex.
class GLViewport
Handles OpenGL viewport.
struct HatState
Structure containing joystick hat values.
class I18n
Provides support for internationalization and translations.
class IAppEventHandler
Interface for handling nCine application events.
class IAudioDevice
Audio device interface.
class IAudioLoader
Audio loader interface.
class IAudioPlayer
Audio player interface.
class IAudioReader
Audio reader interface.
class IDebugOverlay
Interface for debug overlays.
template<class K>
class IdentityHashFunc
Hash function returning the key unchanged.
class IGfxCapabilities
Interface to query runtime OpenGL device capabilities.
class IGfxDevice
Represents the interface to the graphics device where everything is rendered.
class IInputEventHandler
Interface for handling input events from keyboard, screen touches, mouse, accelerometer and joystick.
class IInputManager
Interface for parsing and dispatching input events.
class ImGuiDebugOverlay
Overlay debug ImGui interface.
class ImGuiDrawing
Handles ImGui drawing.
template<class T, typename = void>
struct isDestructible
Specialization for trivially destructible types.
template<class T>
struct isIntegral
template<class T>
struct isTriviallyDestructible
template<class Iterator>
struct IteratorTraits
Base iterator traits structure.
template<class Iterator>
struct IteratorTraits<ReverseIterator<Iterator>>
Iterator traits structure specialization for ReverseIterator class.
template<class K, class T, class HashFunc, unsigned int Capacity>
struct IteratorTraits<StaticHashMapIterator<K, T, HashFunc, Capacity, false>>
Iterator traits structure specialization for HashMapIterator class.
template<class K, class T, class HashFunc, unsigned int Capacity>
struct IteratorTraits<StaticHashMapIterator<K, T, HashFunc, Capacity, true>>
Iterator traits structure specialization for constant HashMapIterator class.
template<class T>
struct IteratorTraits<T*>
Base iterator traits structure.
class ITextureLoader
Texture loader interface class.
class IThreadCommand
Thread pool command interface.
class IThreadPool
Thread pool interface.
template<class K>
class JenkinsHashFunc
Jenkins hash function.
class JoyAxisEvent
Information about a joystick axis event.
class JoyButtonEvent
Information about a joystick button event.
class JoyConnectionEvent
Information about a joystick connection event.
class JoyHatEvent
Information about a joystick hat event.
class JoyMappedAxisEvent
Information about a joystick mapped axis event.
class JoyMappedButtonEvent
Information about a joystick mapped button event.
class JoyMappedState
Information about a mapped joystick state.
class JoyMapping
Provides translation layer for gamepads and joysticks to unified layout.
class JoystickGuid
Parsed GUID of a joystick.
class JoystickState
Information about the joystick state.
class KeyboardEvent
Information about a keyboard event.
class KeyboardState
Information about keyboard state.
class MainApplication
Main entry point and handler for standard (desktop) applications.
class Material
Contains material data for a drawable node.
template<class T>
class Matrix4x4
Four-by-four matrix.
class MeshSprite
A scene node representing a mesh with vertices and UVs.
template<class K, unsigned int Value>
class ModuloHashFunc
Hash function returning the modulo of the key, for debug purposes.
class MouseEvent
Information about a mouse event.
class MouseState
Information about mouse state.
class Mutex
Mutex for threads synchronization.
class Object
Base class of nCine objects.
class Particle
Renders a single particle.
class ParticleAffector
Base class for particle affectors.
struct ParticleInitializer
Initialization parameters for particles.
class ParticleSystem
Represents a particle system.
class PositionAffector
Particle position affector.
template<class T>
class Quaternion
Quaternion.
struct RandomAccessIteratorTag
Dispatching tag for iterators that can jump arbitrary distances in both ways.
class RandomGenerator
Random number generator.
class ReadWriteLock
Read/write lock for threads synchronization.
template<class T>
class Rect
Rectangle in a two dimensional space.
class RectAnimation
Contains data for a rectangles based animation.
class RenderBatcher
Batches render commands together.
class RenderBuffersManager
Handles the memory mapping in multiple OpenGL Buffer Objects.
class RenderCommand
Wraps all the information needed for issuing a draw command.
class RenderCommandPool
Creates and handles the pool of render commands.
class RenderDocCapture
In-application integration of RenderDoc.
class RenderQueue
Sorts and issues the render commands collected by the scenegraph visit.
class RenderResources
Creates and handles application common OpenGL rendering resources.
class RenderStatistics
Gathers statistics about the rendering subsystem.
class RenderVaoPool
Creates and handles the pool of VAOs.
template<class Iterator>
class ReverseIterator
A generic reverse iterator.
template<class T>
struct ReversionWrapper
class RotationAffector
Particle rotation affector.
template<class K>
class SaxHashFunc
Shift-Add-XOR hash function.
class SceneNode
Base class for the transformation nodes hierarchy.
class ScreenViewport
Handles the screen viewport.
class ScrollEvent
Information about a scroll event (mouse wheel, touchpad gesture, etc.)
class ServiceLocator
Provides base services to requesting classes.
class Shader
Shader.
class ShaderState
Shader state class for the user to use custom shaders.
class SizeAffector
Particle size affector.
class Sprite
Scene node representing a regular sprite.
template<class K, class T, unsigned int Capacity, class HashFunc = FNV1aHashFunc<K>>
class StaticHashMap
Static hashmap implementation with open addressing and leapfrog probing (version with static allocation)
template<class K, class T, class HashFunc, unsigned int Capacity, bool IsConst>
struct StaticHashMapHelperTraits
Base helper structure for type traits used in the hashmap iterator.
template<class K, class T, class HashFunc, unsigned int Capacity>
struct StaticHashMapHelperTraits<K, T, HashFunc, Capacity, false>
Helper structure providing type traits used in the non constant hashmap iterator.
template<class K, class T, class HashFunc, unsigned int Capacity>
struct StaticHashMapHelperTraits<K, T, HashFunc, Capacity, true>
Helper structure providing type traits used in the constant hashmap iterator.
template<class K, class T, class HashFunc, unsigned int Capacity, bool IsConst>
class StaticHashMapIterator
Static hashmap iterator.
template<typename T>
struct Task
Represents an asynchronous operation.
class TextInputEvent
Information about a text input event.
class Texture
Texture.
class TextureFormat
Texture format.
class TextureLoaderDds
DDS texture loader.
class TextureLoaderKtx
KTX texture loader.
class TextureLoaderPkm
PKM texture loader.
class TextureLoaderPng
PNG texture loader.
class TextureLoaderPvr
PVR texture loader.
class TextureLoaderQoi
QOI texture loader.
class TextureLoaderRaw
Texture loader used to specify a raw format when loading texels.
class ThreadPool
Thread pool.
class Timer
Accumulates the time between starting and stopping the time measurement.
class TimeStamp
Represents a point in time or a duration.
class TouchEvent
Information about a screen touch event.
class UwpApplication
Main entry point and handler for UWP (Universal Windows Platform) applications.
template<class T>
class Vector2
Two-component vector.
template<class T>
class Vector3
Three-component vector.
template<class T>
class Vector4
Four-component vector.
class VelocityAffector
Particle velocity affector.
class Viewport
Handles a viewport and its corresponding render target texture.

Enums

enum class SamplerFilter { Unknown, Nearest, Linear, NearestMipmapNearest, LinearMipmapNearest, NearestMipmapLinear, LinearMipmapLinear }
Texture filtering modes.
enum class SamplerWrapping { Unknown, ClampToEdge, MirroredRepeat, Repeat }
Texture wrap modes.
enum class JoystickGuidType { Unknown, Standard, Default, Hidapi, Xinput }
enum class ButtonName : std::int16_t { Unknown = -1, A = 0, B, X, Y, Back, Guide, Start, LeftStick, RightStick, LeftBumper, RightBumper, Up, Down, Left, Right, Misc1, Paddle1, Paddle2, Paddle3, Paddle4, Touchpad, Count }
enum class AxisName : std::int16_t { Unknown = -1, LeftX = 0, LeftY, RightX, RightY, LeftTrigger, RightTrigger }
enum class TouchEventType { Down, Up, Move, PointerDown, PointerUp }
enum class Keys { Backspace, Tab, Return, Escape, Space, Quote, Plus, Comma, Minus, Period, Slash, D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, Semicolon, LeftBracket, Backslash, RightBracket, Backquote, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Delete, NumPad0, NumPad1, NumPad2, NumPad3, NumPad4, NumPad5, NumPad6, NumPad7, NumPad8, NumPad9, NumPadPeriod, NumPadDivide, NumPadMultiply, NumPadMinus, NumPadPlus, NumPadEnter, NumPadEquals, Up, Down, Right, Left, Insert, Home, End, PageUp, PageDown, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, NumLock, CapsLock, ScrollLock, RShift, LShift, RCtrl, LCtrl, RAlt, LAlt, RSuper, LSuper, PrintScreen, Pause, Menu, Clear, Exclaim, QuoteDbl, Hash, Dollar, Ampersand, LeftParen, RightParen, Asterisk, Colon, Less, Equals, Greater, Question, At, Caret, Underscore, Mode, Application, Help, SysReq, Power, Undo, World1, World2, SoftLeft, SoftRight, Back, Call, EndCall, Star, Pound, DpadCenter, VolumeUp, VolumeDown, Camera, Sym, Explorer, Envelope, Num, HeadsetHook, Focus, Notification, Search, MediaPlayPause, MediaStop, MediaNext, MediaPrevious, MediaRewind, MediaFastForward, Mute, PictSymbols, SwitchCharset, ButtonA, ButtonB, ButtonC, ButtonX, ButtonY, ButtonZ, ButtonL1, ButtonR1, ButtonL2, ButtonR2, ButtonThumbLeft, ButtonThumbRight, ButtonStart, ButtonSelect, ButtonMode, FunctionKey, MoveHome, MoveEnd, Forward, MediaPlay, MediaPause, MediaClose, MediaEject, MediaRecord, NumPadComma, NumPadLeftParen, NumPadRightParen, VolumeMute, Info, ChannelUp, ChannelDown, ZoomIn, ZoomOut, TV, Window, Guide, DVR, Bookmark, Captions, Settings, TVPower, TVInput, STBPower, STBInput, AVRPower, AVRInput, ProgRed, ProgGreen, ProgYellow, ProgBlue, AppSwitch, Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8, Button9, Button10, Button11, Button12, Button13, Button14, Button15, Button16, Count, Unknown = Count }
enum KeyMod { None = 0x0000, LShift = 0x0001, RShift = 0x0002, LCtrl = 0x0040, RCtrl = 0x0080, LAlt = 0x0100, RAlt = 0x0200, LSuper = 0x0400, RSuper = 0x0800, NumLock = 0x1000, CapsLock = 0x2000, Mode = 0x4000, Sym = 0x8000, Ctrl = (LCtrl | RCtrl), Shift = (LShift | RShift), Alt = (LAlt | RAlt), Super = (LSuper | RSuper), Mask = (Ctrl | Shift | Alt | Super), Count }

Typedefs

using hash_t = std::uint32_t
using hash64_t = std::uint64_t
template<class K, class V, class Hash = CityHash64Func<K>, class Eq = phmap::priv::hash_default_eq<K>>
using HashMap = phmap::flat_hash_map<K, V, Hash, Eq>
using key_t = GLenum
using value_t = GLuint
using AABBf = AABB<float>
Axis-Aligned Bounding Box in a two dimensional space of floats.
using AABBi = AABB<int>
Axis-Aligned Bounding Box in a two dimensional space of 32-bit integers.
using Matrix4x4f = Matrix4x4<float>
Four-by-four matrix of floats.
using Quaternionf = Quaternion<float>
Quaternion of floats.
using Rectf = Rect<float>
Rectangle in a two dimensional space of floats.
using Recti = Rect<int>
Rectangle in a two dimensional space of 32-bit integers.
using Vector2f = Vector2<float>
Two-component vector of floats.
using Vector2i = Vector2<int>
Two-component vector of 32-bit integers.
using Vector3f = Vector3<float>
Three-component vector of floats.
using Vector3i = Vector3<int>
Three-component vector of 32-bit integers.
using Vector4f = Vector4<float>
Four-component vector of floats.
using Vector4i = Vector4<int>
Four-component vector of 32-bit integers.

Functions

auto theApplication() -> Application&
Returns application instance.
template<class T>
auto IsLess(const T& a, const T& b) -> bool
template<class T>
auto IsNotLess(const T& a, const T& b) -> bool
template<class Iterator>
auto isSorted(Iterator first, const Iterator last) -> bool
Returns true if the range is sorted into ascending order.
template<class Iterator, class Compare>
auto isSorted(Iterator first, const Iterator last, Compare comp) -> bool
Returns true if the range is sorted, using a custom comparison.
template<class Iterator>
auto isSortedUntil(Iterator first, const Iterator last) -> const Iterator
Returns an iterator to the first element in the range which does not follow an ascending order, or last if sorted.
template<class Iterator, class Compare>
auto isSortedUntil(Iterator first, const Iterator last, Compare comp) -> const Iterator
Returns an iterator to the first element in the range which does not follow the custom comparison, or last if sorted.
template<class T>
void destructObject(T* ptr)
template<class T>
void destructArray(T* ptr, std::uint32_t numElements)
auto lerp(float a, float b, float ratio) -> float
auto lerp(std::int32_t a, std::int32_t b, float ratio) -> std::int32_t
auto lerpByTime(float a, float b, float ratio, float timeMult) -> float
auto copyStringFirst(char* dest, std::int32_t destSize, const char* source, std::int32_t count = -1) -> std::int32_t
template<std::size_t size>
auto copyStringFirst(char(&dest)[size], const char* source, std::int32_t count = -1) -> std::int32_t
template<std::size_t size>
auto copyStringFirst(char(&dest)[size], Containers::StringView source) -> std::int32_t
auto formatString(char* buffer, std::size_t maxLen, const char* format, ...) -> int
void u32tos(std::uint32_t value, char* buffer)
void i32tos(std::int32_t value, char* buffer)
void u64tos(std::uint64_t value, char* buffer)
void i64tos(std::int64_t value, char* buffer)
void ftos(double value, char* buffer, std::int32_t bufferSize)
auto isDigit(char c) -> bool constexpr
auto stou32(const char* str, std::size_t length) -> std::uint32_t constexpr
auto stou64(const char* str, std::size_t length) -> std::uint64_t constexpr
template<class Iter, class Compare>
void sort(Iter begin, Iter end, Compare comp)
template<class Iter>
void sort(Iter begin, Iter end)
auto halfToFloat(std::uint16_t value) -> float
auto floatToHalf(float value) -> std::uint16_t
auto parseVersion(Containers::StringView version) -> std::uint64_t constexpr
auto clock() -> Clock&
auto fasthash64(const void* buf, size_t len, uint64_t seed) -> uint64_t
auto fasthash32(const void* buf, size_t len, uint32_t seed) -> uint32_t
auto CityHash64(const char* s, std::size_t len) -> std::uint64_t
CityHash.
auto CityHash64WithSeed(const char* s, std::size_t len, std::uint64_t seed) -> std::uint64_t
auto CityHash64WithSeeds(const char* s, std::size_t len, std::uint64_t seed0, std::uint64_t seed1) -> std::uint64_t
auto CityHash32(const char* s, std::size_t len) -> std::uint32_t
template<class Iterator>
void advance(Iterator& it, int n)
Increments an iterator by n elements.
template<class Iterator>
auto next(Iterator it, unsigned int n) -> Iterator
Return the nth successor of an iterator.
template<class Iterator>
auto next(Iterator it) -> Iterator
Return the successor of an iterator.
template<class Iterator>
auto prev(Iterator it, unsigned int n) -> Iterator
Return the nth predecessor of an iterator.
template<class Iterator>
auto prev(Iterator it) -> Iterator
Return the predecessor of an iterator.
template<class Iterator>
auto distance(Iterator first, const Iterator last) -> int
Returns the distance between two iterators.
template<class T>
auto begin(ReversionWrapper<T> c) -> decltype(rBegin(c.iterable))
template<class T>
auto end(ReversionWrapper<T> c) -> decltype(rEnd(c.iterable))
template<class T>
auto reverse(T&& iterable) -> ReversionWrapper<T>
template<class Container>
auto begin(Container& c) -> Container::Iterator
template<class Container>
auto cbegin(const Container& c) -> Container::ConstIterator
template<class Container>
auto end(Container& c) -> Container::Iterator
template<class Container>
auto cend(const Container& c) -> Container::ConstIterator
template<class Container>
auto rbegin(Container& c) -> Container::ReverseIterator
template<class Container>
auto crbegin(const Container& c) -> Container::ConstReverseIterator
template<class Container>
auto rend(Container& c) -> Container::ReverseIterator
template<class Container>
auto crend(const Container& c) -> Container::ConstReverseIterator
auto Random() -> RandomGenerator& noexcept
template<class S>
auto operator*(const Vector4<S>& v, const Matrix4x4<S>& m) -> Vector4<S>
template<class S>
auto operator*(const Vector3<S>& v, const Matrix4x4<S>& m) -> Vector3<S>
template<class S>
auto operator*(S s, const Matrix4x4<S>& m) -> Matrix4x4<S>
template<class S>
auto operator*(S s, const Vector2<S>& v) -> Vector2<S>
template<class S>
auto operator*(S s, const Vector3<S>& v) -> Vector3<S>
template<class S>
auto operator*(S s, const Vector4<S>& v) -> Vector4<S>
auto theServiceLocator() -> ServiceLocator&
auto _(const char* text) -> StringView
Translates text in singular form using primary translation catalog.
auto _x(StringView context, const char* text) -> StringView
Translates text in singular form using primary translation catalog and specified context.
auto _n(const char* singular, const char* plural, std::int32_t n) -> StringView
Translates text in singular or plural form using primary translation catalog.
auto _nx(StringView context, const char* singular, const char* plural, std::int32_t n) -> StringView
Translates text in singular or plural form using primary translation catalog and specified context.
auto _f(const char* text, ...) -> String
Translates formatted text in singular form using primary translation catalog.
auto _fn(const char* singular, const char* plural, std::int32_t n, ...) -> String
Translates formatted text in singular or plural form using primary translation catalog.

Variables

const hash_t NullHash
double Pi constexpr
3.1415... (double)
float fPi constexpr
3.1415...
float fPiOver2 constexpr
3.1415... / 2
float fPiOver3 constexpr
3.1415... / 3
float fPiOver4 constexpr
3.1415... / 4
float fPiOver6 constexpr
3.1415... / 6
float fTwoPi constexpr
3.1415... * 2
double DegToRad constexpr
Multiply to convert degrees to radians (double)
float fDegToRad constexpr
Multiply to convert degrees to radians.
double RadToDeg constexpr
Multiply to convert radians to degrees (double)
float fRadToDeg constexpr
Multiply to convert radians to degrees.
float fRadAngle1 constexpr
1 degree as radians
float fRadAngle30 constexpr
30 degrees as radians
float fRadAngle45 constexpr
45 degrees as radians
float fRadAngle90 constexpr
90 degrees as radians
float fRadAngle180 constexpr
180 degrees as radians
float fRadAngle270 constexpr
270 degrees as radians
float fRadAngle360 constexpr
360 degrees as radians
const unsigned int StepsInitialSize

Enum documentation

enum class nCine::SamplerFilter

Texture filtering modes.

enum class nCine::SamplerWrapping

Texture wrap modes.

enum class nCine::JoystickGuidType

enum class nCine::ButtonName : std::int16_t

enum class nCine::AxisName : std::int16_t

enum class nCine::TouchEventType

Enumerators
Down

Called every time the first screen touch is made.

Up

Called every time the last screen touch is released.

Move

Called every time a screen touch is moved.

PointerDown

Called every time a screen touch different than the first one is made.

PointerUp

Called every time a screen touch different than the last one is released.

enum class nCine::Keys

enum nCine::KeyMod

Typedef documentation

template<class K, class V, class Hash = CityHash64Func<K>, class Eq = phmap::priv::hash_default_eq<K>>
using nCine::HashMap = phmap::flat_hash_map<K, V, Hash, Eq>

using nCine::key_t = GLenum

using nCine::value_t = GLuint

using nCine::AABBf = AABB<float>

Axis-Aligned Bounding Box in a two dimensional space of floats.

using nCine::AABBi = AABB<int>

Axis-Aligned Bounding Box in a two dimensional space of 32-bit integers.

using nCine::Matrix4x4f = Matrix4x4<float>

Four-by-four matrix of floats.

using nCine::Quaternionf = Quaternion<float>

Quaternion of floats.

using nCine::Rectf = Rect<float>

Rectangle in a two dimensional space of floats.

using nCine::Recti = Rect<int>

Rectangle in a two dimensional space of 32-bit integers.

using nCine::Vector2f = Vector2<float>

Two-component vector of floats.

using nCine::Vector2i = Vector2<int>

Two-component vector of 32-bit integers.

using nCine::Vector3f = Vector3<float>

Three-component vector of floats.

using nCine::Vector3i = Vector3<int>

Three-component vector of 32-bit integers.

using nCine::Vector4f = Vector4<float>

Four-component vector of floats.

using nCine::Vector4i = Vector4<int>

Four-component vector of 32-bit integers.

Function documentation

Application& nCine::theApplication()

Returns application instance.

template<class T>
bool nCine::IsLess(const T& a, const T& b)

template<class T>
bool nCine::IsNotLess(const T& a, const T& b)

template<class Iterator>
bool nCine::isSorted(Iterator first, const Iterator last)

Returns true if the range is sorted into ascending order.

template<class Iterator, class Compare>
bool nCine::isSorted(Iterator first, const Iterator last, Compare comp)

Returns true if the range is sorted, using a custom comparison.

template<class Iterator>
const Iterator nCine::isSortedUntil(Iterator first, const Iterator last)

Returns an iterator to the first element in the range which does not follow an ascending order, or last if sorted.

template<class Iterator, class Compare>
const Iterator nCine::isSortedUntil(Iterator first, const Iterator last, Compare comp)

Returns an iterator to the first element in the range which does not follow the custom comparison, or last if sorted.

template<class T>
void nCine::destructObject(T* ptr)

template<class T>
void nCine::destructArray(T* ptr, std::uint32_t numElements)

float nCine::lerp(float a, float b, float ratio)

float nCine::lerpByTime(float a, float b, float ratio, float timeMult)

std::int32_t nCine::copyStringFirst(char* dest, std::int32_t destSize, const char* source, std::int32_t count = -1)

template<std::size_t size>
std::int32_t nCine::copyStringFirst(char(&dest)[size], const char* source, std::int32_t count = -1)

template<std::size_t size>
std::int32_t nCine::copyStringFirst(char(&dest)[size], Containers::StringView source)

int nCine::formatString(char* buffer, std::size_t maxLen, const char* format, ...)

void nCine::u32tos(std::uint32_t value, char* buffer)

void nCine::i32tos(std::int32_t value, char* buffer)

void nCine::u64tos(std::uint64_t value, char* buffer)

void nCine::i64tos(std::int64_t value, char* buffer)

void nCine::ftos(double value, char* buffer, std::int32_t bufferSize)

bool nCine::isDigit(char c) constexpr

std::uint32_t nCine::stou32(const char* str, std::size_t length) constexpr

std::uint64_t nCine::stou64(const char* str, std::size_t length) constexpr

template<class Iter, class Compare>
void nCine::sort(Iter begin, Iter end, Compare comp)

template<class Iter>
void nCine::sort(Iter begin, Iter end)

float nCine::halfToFloat(std::uint16_t value)

std::uint16_t nCine::floatToHalf(float value)

Clock& nCine::clock()

uint64_t nCine::fasthash64(const void* buf, size_t len, uint64_t seed)

uint32_t nCine::fasthash32(const void* buf, size_t len, uint32_t seed)

std::uint64_t nCine::CityHash64(const char* s, std::size_t len)

CityHash.

template<class Iterator>
void nCine::advance(Iterator& it, int n)

Increments an iterator by n elements.

template<class Iterator>
Iterator nCine::next(Iterator it, unsigned int n)

Return the nth successor of an iterator.

template<class Iterator>
Iterator nCine::next(Iterator it)

Return the successor of an iterator.

template<class Iterator>
Iterator nCine::prev(Iterator it, unsigned int n)

Return the nth predecessor of an iterator.

template<class Iterator>
Iterator nCine::prev(Iterator it)

Return the predecessor of an iterator.

template<class Iterator>
int nCine::distance(Iterator first, const Iterator last)

Returns the distance between two iterators.

template<class T>
decltype(rBegin(c.iterable)) nCine::begin(ReversionWrapper<T> c)

template<class T>
decltype(rEnd(c.iterable)) nCine::end(ReversionWrapper<T> c)

template<class T>
ReversionWrapper<T> nCine::reverse(T&& iterable)

template<class Container>
Container::Iterator nCine::begin(Container& c)

template<class Container>
Container::ConstIterator nCine::cbegin(const Container& c)

template<class Container>
Container::Iterator nCine::end(Container& c)

template<class Container>
Container::ConstIterator nCine::cend(const Container& c)

template<class Container>
Container::ReverseIterator nCine::rbegin(Container& c)

template<class Container>
Container::ConstReverseIterator nCine::crbegin(const Container& c)

template<class Container>
Container::ReverseIterator nCine::rend(Container& c)

template<class Container>
Container::ConstReverseIterator nCine::crend(const Container& c)

RandomGenerator& nCine::Random() noexcept

template<class S>
Vector4<S> nCine::operator*(const Vector4<S>& v, const Matrix4x4<S>& m)

template<class S>
Vector3<S> nCine::operator*(const Vector3<S>& v, const Matrix4x4<S>& m)

template<class S>
Matrix4x4<S> nCine::operator*(S s, const Matrix4x4<S>& m)

template<class S>
Vector2<S> nCine::operator*(S s, const Vector2<S>& v)

template<class S>
Vector3<S> nCine::operator*(S s, const Vector3<S>& v)

template<class S>
Vector4<S> nCine::operator*(S s, const Vector4<S>& v)

Variable documentation

double nCine::Pi constexpr

3.1415... (double)

float nCine::fPi constexpr

3.1415...

float nCine::fPiOver2 constexpr

3.1415... / 2

float nCine::fPiOver3 constexpr

3.1415... / 3

float nCine::fPiOver4 constexpr

3.1415... / 4

float nCine::fPiOver6 constexpr

3.1415... / 6

float nCine::fTwoPi constexpr

3.1415... * 2

double nCine::DegToRad constexpr

Multiply to convert degrees to radians (double)

float nCine::fDegToRad constexpr

Multiply to convert degrees to radians.

double nCine::RadToDeg constexpr

Multiply to convert radians to degrees (double)

float nCine::fRadToDeg constexpr

Multiply to convert radians to degrees.

float nCine::fRadAngle1 constexpr

1 degree as radians

float nCine::fRadAngle30 constexpr

30 degrees as radians

float nCine::fRadAngle45 constexpr

45 degrees as radians

float nCine::fRadAngle90 constexpr

90 degrees as radians

float nCine::fRadAngle180 constexpr

180 degrees as radians

float nCine::fRadAngle270 constexpr

270 degrees as radians

float nCine::fRadAngle360 constexpr

360 degrees as radians

const unsigned int nCine::StepsInitialSize