API Documentation
Namespaces | Classes | Enumerations
nkAstraeus Namespace Reference

Encompasses all API of component NilkinsAstraeus. More...

Namespaces

 nkAstraeusWrap
 Encompasses the wrapping of nkAstraeus for scripting.
 
 nkExportWrap
 Encompasses the wrapping of nkExport for scripting.
 
 nkGraphicsWrap
 Encompasses the wrapping of nkGraphics for scripting.
 
 nkMathsWrap
 Encompasses the wrapping of nkMaths for scripting.
 
 nkMemoryWrap
 Encompasses the wrapping of nkMemory for scripting.
 
 nkResourcesWrap
 Encompasses the wrapping of nkResources for scripting.
 
 nkScriptsWrap
 Encompasses the wrapping of nkScripts for scripting.
 
 nkTasksWrap
 Encompasses the wrapping of nkTasks for scripting.
 
 stdWrap
 Encompasses the wrapping of std for scripting.
 

Classes

class  AtmosphereEffect
 An atmosphere effect. More...
 
class  BlurComplexEffect
 A blurring effect. More...
 
class  ComplexEffect
 Base class for all complex effects in the component. More...
 
class  ComplexEffectManager
 Manages the complex effects available in the component. More...
 
class  ComplexEffectTypeUtils
 Offers utility functions to help with the enumeration support. More...
 
class  DofComplexEffect
 A Depth of Field effect. More...
 
class  Effect
 Base class for all effects in the component. More...
 
class  EffectManager
 Manages the effects available in the component. More...
 
class  EffectTypeUtils
 Offers utility functions to help with the enumeration support. More...
 
class  EnvironmentRenderer
 Utility class helping with environment rendering such as cube maps or spherical maps. More...
 
class  FilmGrainEffect
 A film grain effect. More...
 
class  FilmGrainEffectUtils
 Utilities that can help when using an FilmGrainEffect. More...
 
class  FxaaEffect
 A Fast Approximate Anti-Aliasing effect. More...
 
class  GeometryLib
 Shader program helping sources for general geometry concepts. More...
 
class  GraphicsEngine
 Drives the graphics engine part. More...
 
class  ImageEnvironmentEffect
 Effect using a texture as an input to use it as an environment for the view. More...
 
class  LogManager
 Responsible for logging all messages from the component. By registering a nkLog::Logger inside, it is possible to listen to all messages logged. More...
 
class  Material
 Base class for all materials in the component. More...
 
class  MaterialManager
 Manages the materials available in the component. More...
 
class  MaterialTypeUtils
 Offers tools to work with the MATERIAL_TYPE enumeration. More...
 
class  MathsLib
 Shader program helping sources for general maths concepts. More...
 
class  OneChannelPackUtils
 Offers tools to work with the ONE_CHANNEL_PACK enumeration. More...
 
class  PbsEnvironmentMapFilter
 Provides tools to filter environment maps and improve IBL within the PbsMaterial. More...
 
class  PbsMaterial
 A Physically Based Shading material. More...
 
class  PostProcessingLib
 Shader program helping sources to handle post processing passes. More...
 
class  ProjectLoader
 Allows to load and save projects, that is, resource sets. More...
 
struct  ProjectLoadQuery
 Describes a project load query. More...
 
struct  ProjectLoadResult
 Holds information about a project load attempt. More...
 
struct  ProjectSaveQuery
 Describes a project save query. More...
 
class  ScriptsEngine
 Drives the scripting sub engine. More...
 
struct  ShadowMapParameters
 Exposes parameters for the shadow map setup in materials and effects supporting it. More...
 
class  ShadowMapPcfUtils
 Offers utilities around using the SHADOW_MAP_PCF enumeration. More...
 
class  ShadowMappingLib
 Shader program helping sources for shadow mapping. More...
 
class  SsaoEffect
 A Screen Space Ambient Occlusion effect. More...
 
class  SsaoEffectUtils
 Utilities that can help when using an SsaoEffect. More...
 
class  System
 The main entry point for nkAstraeus engine. More...
 
class  TextureCopyEffect
 A texture copy effect. More...
 
class  ThreeChannelPackUtils
 Offers utilities to use with the THREE_CHANNEL_PACK enumeration class. More...
 
class  ToneMappingEffect
 A tone mapping effect meant to map linear values to display device colors. More...
 
struct  ToneMappingHablesCurveDescriptor
 Provides all parameters to tune the Hables curve to tone map an image. More...
 

Enumerations

enum  BLUR_TYPE { BLUR_TYPE::GAUSSIAN = 0 }
 Enumerates the blurring types available. More...
 
enum  COMPLEX_EFFECT_TYPE { COMPLEX_EFFECT_TYPE::UNKNOWN = 0, COMPLEX_EFFECT_TYPE::BLUR, COMPLEX_EFFECT_TYPE::DOF }
 Enumerates all complex effects available in the component. More...
 
enum  EFFECT_TYPE {
  EFFECT_TYPE::UNKNOWN = 0, EFFECT_TYPE::ATMOSPHERE, EFFECT_TYPE::FILM_GRAIN, EFFECT_TYPE::FXAA,
  EFFECT_TYPE::IMAGE_ENVIRONMENT, EFFECT_TYPE::SSAO, EFFECT_TYPE::TEXTURE_COPY, EFFECT_TYPE::TONE_MAPPING
}
 Lists all effects supported. More...
 
enum  FXAA_PRESET {
  FXAA_PRESET::DITHER_MEDIUM_RADIUS_3 = 0, FXAA_PRESET::DITHER_MEDIUM_RADIUS_4, FXAA_PRESET::DITHER_MEDIUM_RADIUS_5, FXAA_PRESET::DITHER_MEDIUM_RADIUS_6,
  FXAA_PRESET::DITHER_MEDIUM_RADIUS_7, FXAA_PRESET::DITHER_MEDIUM_RADIUS_8, FXAA_PRESET::DITHER_LOW_RADIUS_3, FXAA_PRESET::DITHER_LOW_RADIUS_4,
  FXAA_PRESET::DITHER_LOW_RADIUS_5, FXAA_PRESET::DITHER_LOW_RADIUS_6, FXAA_PRESET::DITHER_LOW_RADIUS_7, FXAA_PRESET::DITHER_LOW_RADIUS_8,
  FXAA_PRESET::DITHER_LOW_RADIUS_9, FXAA_PRESET::DITHER_LOW_RADIUS_10, FXAA_PRESET::DITHER_LOW_RADIUS_11, FXAA_PRESET::DITHER_LOW_RADIUS_12,
  FXAA_PRESET::DITHER_LOWEST_RADIUS_12
}
 Describes all FXAA effect presets available. More...
 
enum  IMAGE_ENVIRONMENT_PROJECTION { IMAGE_ENVIRONMENT_PROJECTION::AUTO = 0, IMAGE_ENVIRONMENT_PROJECTION::FLAT, IMAGE_ENVIRONMENT_PROJECTION::CUBE, IMAGE_ENVIRONMENT_PROJECTION::EQUIRECTANGULAR }
 Enumerates the projections supported for a source environment image. More...
 
enum  ONE_CHANNEL_PACK { ONE_CHANNEL_PACK::R = 0, ONE_CHANNEL_PACK::G, ONE_CHANNEL_PACK::B, ONE_CHANNEL_PACK::A }
 Enumeration of texture channels, one by one. More...
 
enum  THREE_CHANNEL_PACK {
  THREE_CHANNEL_PACK::RGB = 0, THREE_CHANNEL_PACK::RBG, THREE_CHANNEL_PACK::RGA, THREE_CHANNEL_PACK::RAG,
  THREE_CHANNEL_PACK::RBA, THREE_CHANNEL_PACK::RAB, THREE_CHANNEL_PACK::GRB, THREE_CHANNEL_PACK::GBR,
  THREE_CHANNEL_PACK::GRA, THREE_CHANNEL_PACK::GAR, THREE_CHANNEL_PACK::GBA, THREE_CHANNEL_PACK::GAB,
  THREE_CHANNEL_PACK::BRG, THREE_CHANNEL_PACK::BGR, THREE_CHANNEL_PACK::BAR, THREE_CHANNEL_PACK::BGA,
  THREE_CHANNEL_PACK::BAG, THREE_CHANNEL_PACK::ARG, THREE_CHANNEL_PACK::AGR, THREE_CHANNEL_PACK::AGB,
  THREE_CHANNEL_PACK::ABG, THREE_CHANNEL_PACK::ARB, THREE_CHANNEL_PACK::ABR
}
 Enumeration of texture channels, packed by three. The channel order is encoded in each value, which can drive the mapping in supporting settings. More...
 
enum  MATERIAL_TYPE { MATERIAL_TYPE::UNKNOWN = 0, MATERIAL_TYPE::PBS }
 Lists all materials supported. More...
 
enum  PBS_MODEL { PBS_MODEL::SPECULAR_METALNESS_ROUGHNESS = 0, PBS_MODEL::SPECULAR_GLOSSINESS }
 Lists the available PBS models available. More...
 
enum  SHADOW_MAP_PCF { SHADOW_MAP_PCF::PCF_NONE = 0, SHADOW_MAP_PCF::PCF_4_TAP, SHADOW_MAP_PCF::PCF_9_TAP, SHADOW_MAP_PCF::PCF_16_TAP }
 Percentage Closer Filtering settings available for materials and effects supporting the shadow mapping method. More...
 

Detailed Description

Encompasses all API of component NilkinsAstraeus.

NilkinsAstraeus is a component that leverages all other capabilities exposed in other components to offer what gets near a game engine. Currently, it will :

As it goes, it will evolve to offer a higher level control, and more capabilities to ease the use of the engine as a whole.

Enumeration Type Documentation

◆ BLUR_TYPE

enum nkAstraeus::BLUR_TYPE
strong

Enumerates the blurring types available.

Enumerator
GAUSSIAN 

A typical gaussian blur.

◆ COMPLEX_EFFECT_TYPE

Enumerates all complex effects available in the component.

Enumerator
UNKNOWN 

Unknown placeholder.

BLUR 

Blurring effect.

DOF 

Depth Of Field effect.

◆ EFFECT_TYPE

Lists all effects supported.

Enumerator
UNKNOWN 

Unknown placeholder.

ATMOSPHERE 

Atmosphere effect.

FILM_GRAIN 

Film grain effect.

FXAA 

Fast Approximate Anti-Aliasing effect.

IMAGE_ENVIRONMENT 

Image Environment effect.

SSAO 

Screen Space Ambient Occlusion effect.

TEXTURE_COPY 

Simple texture copy effect.

TONE_MAPPING 

Tone mapping effect.

◆ FXAA_PRESET

Describes all FXAA effect presets available.

Presets drive the main algorithm logic. They give how much dithering should be acceptable, and what is the lookup radius of the filter. More dithering can mean harsher effect, while less dithering can smooth up better the image, as will do a bigger radius. However, keep in mind that the smaller the dither and the bigger the radius, the bigger the hit on the performance is.

Default value is DITHER_MEDIUM_RADIUS_5, representing a good compromise between quality and performances.

Enumerator
DITHER_MEDIUM_RADIUS_3 

Medium dithering, radius of 3 pixels.

DITHER_MEDIUM_RADIUS_4 

Medium dithering, radius of 4 pixels.

DITHER_MEDIUM_RADIUS_5 

Medium dithering, radius of 5 pixels.

DITHER_MEDIUM_RADIUS_6 

Medium dithering, radius of 6 pixels.

DITHER_MEDIUM_RADIUS_7 

Medium dithering, radius of 7 pixels.

DITHER_MEDIUM_RADIUS_8 

Medium dithering, radius of 8 pixels.

DITHER_LOW_RADIUS_3 

Low dithering, radius of 3 pixels.

DITHER_LOW_RADIUS_4 

Low dithering, radius of 4 pixels.

DITHER_LOW_RADIUS_5 

Low dithering, radius of 5 pixels.

DITHER_LOW_RADIUS_6 

Low dithering, radius of 6 pixels.

DITHER_LOW_RADIUS_7 

Low dithering, radius of 7 pixels.

DITHER_LOW_RADIUS_8 

Low dithering, radius of 8 pixels.

DITHER_LOW_RADIUS_9 

Low dithering, radius of 9 pixels.

DITHER_LOW_RADIUS_10 

Low dithering, radius of 10 pixels.

DITHER_LOW_RADIUS_11 

Low dithering, radius of 11 pixels.

DITHER_LOW_RADIUS_12 

Low dithering, radius of 12 pixels.

DITHER_LOWEST_RADIUS_12 

Lowest dithering possible, radius of 12 pixels.

◆ IMAGE_ENVIRONMENT_PROJECTION

Enumerates the projections supported for a source environment image.

Enumerator
AUTO 

Auto-detect based on the image's type.

FLAT 

Flat texture, only interpolated on the screen's uvs.

CUBE 

Cubemap texture, interpolated based on a pixel's direction.

EQUIRECTANGULAR 

Equirectangular, interpolated using a pixel's direction converted to a 2D uv coordinate.

◆ ONE_CHANNEL_PACK

Enumeration of texture channels, one by one.

Enumerator

Red channel.

Green channel.

Blue channel.

Alpha channel.

◆ THREE_CHANNEL_PACK

Enumeration of texture channels, packed by three. The channel order is encoded in each value, which can drive the mapping in supporting settings.

Enumerator
RGB 

Red, green, blue channels.

RBG 

Red, blue, green channels.

RGA 

Red, green, alpha channels.

RAG 

Red, alpha, green channels.

RBA 

Red, blue, alpha channels.

RAB 

Red, alpha, blue channels.

GRB 

Green, red, blue channels.

GBR 

Green, blue, red channels.

GRA 

Green, red, alpha channels.

GAR 

Green, alpha, red channels.

GBA 

Green, blue, alpha channels.

GAB 

Green, alpha, blue channels.

BRG 

Blue, red, green channels.

BGR 

Blue, green, red channels.

BAR 

Blue, red, alpha channels.

Blue, alpha, red channels.

BGA 

Blue, green, alpha channels.

BAG 

Blue, alpha, green channels.

ARG 

Alpha, red, green channels.

AGR 

Alpha, green, red channels.

AGB 

Alpha, green, blue channels.

ABG 

Alpha, blue, green channels.

ARB 

Alpha, red, blue channels.

ABR 

Alpha, blue, red channels.

◆ MATERIAL_TYPE

Lists all materials supported.

Enumerator
UNKNOWN 

Unknown place holder.

PBS 

Physically Based Shading material.

◆ PBS_MODEL

enum nkAstraeus::PBS_MODEL
strong

Lists the available PBS models available.

Enumerator
SPECULAR_METALNESS_ROUGHNESS 

Uses the specular, with metalness and roughness values.

SPECULAR_GLOSSINESS 

Uses the specular, with the glossiness value.

◆ SHADOW_MAP_PCF

Percentage Closer Filtering settings available for materials and effects supporting the shadow mapping method.

Enumerator
PCF_NONE 

No PCF.

PCF_4_TAP 

PCF with 4 taps.

PCF_9_TAP 

PCF with 9 taps.

PCF_16_TAP 

PCF with 16 taps.