Merge branch 'master' into NDK-ShadowMapping
Former-commit-id: e2be28b65207dfbb81efe58f31ca31548afecee7
This commit is contained in:
@@ -28,6 +28,7 @@ namespace Nz
|
||||
AbstractRenderTechnique(AbstractRenderTechnique&&) = default;
|
||||
virtual ~AbstractRenderTechnique();
|
||||
|
||||
virtual void Clear(const SceneData& sceneData) const = 0;
|
||||
virtual bool Draw(const SceneData& sceneData) const = 0;
|
||||
|
||||
virtual void EnableInstancing(bool instancing);
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Nz
|
||||
void AddMesh(int renderOrder, const Material* material, const MeshData& meshData, const Boxf& meshAABB, const Matrix4f& transformMatrix) override;
|
||||
void AddSprites(int renderOrder, const Material* material, const VertexStruct_XYZ_Color_UV* vertices, unsigned int spriteCount, const Texture* overlay = nullptr) override;
|
||||
|
||||
void Clear(bool fully = false);
|
||||
void Clear(bool fully = false) override;
|
||||
|
||||
struct MeshDataComparator
|
||||
{
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace Nz
|
||||
DeferredRenderTechnique();
|
||||
~DeferredRenderTechnique();
|
||||
|
||||
void Clear(const SceneData& sceneData) const override;
|
||||
bool Draw(const SceneData& sceneData) const override;
|
||||
|
||||
void EnablePass(RenderPassType renderPass, int position, bool enable);
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace Nz
|
||||
void AddMesh(int renderOrder, const Material* material, const MeshData& meshData, const Boxf& meshAABB, const Matrix4f& transformMatrix) override;
|
||||
void AddSprites(int renderOrder, const Material* material, const VertexStruct_XYZ_Color_UV* vertices, unsigned int spriteCount, const Texture* overlay = nullptr) override;
|
||||
|
||||
void Clear(bool fully = false);
|
||||
void Clear(bool fully = false) override;
|
||||
|
||||
void Sort(const AbstractViewer* viewer);
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ namespace Nz
|
||||
ForwardRenderTechnique();
|
||||
~ForwardRenderTechnique() = default;
|
||||
|
||||
void Clear(const SceneData& sceneData) const override;
|
||||
bool Draw(const SceneData& sceneData) const override;
|
||||
|
||||
unsigned int GetMaxLightPassPerObject() const;
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace Nz
|
||||
GuillotineTextureAtlas() = default;
|
||||
~GuillotineTextureAtlas() = default;
|
||||
|
||||
UInt32 GetStorage() const;
|
||||
UInt32 GetStorage() const override;
|
||||
|
||||
private:
|
||||
AbstractImage* ResizeImage(AbstractImage* oldImage, const Vector2ui& size) const override;
|
||||
|
||||
@@ -68,6 +68,16 @@ namespace Nz
|
||||
return m_innerAngle;
|
||||
}
|
||||
|
||||
inline float Light::GetInnerAngleCosine() const
|
||||
{
|
||||
return m_innerAngleCosine;
|
||||
}
|
||||
|
||||
inline float Light::GetInvRadius() const
|
||||
{
|
||||
return m_invRadius;
|
||||
}
|
||||
|
||||
inline LightType Light::GetLightType() const
|
||||
{
|
||||
return m_type;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceLoader.hpp>
|
||||
#include <Nazara/Core/ResourceManager.hpp>
|
||||
#include <Nazara/Core/ResourceParameters.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Graphics/Config.hpp>
|
||||
@@ -26,7 +27,7 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
struct NAZARA_GRAPHICS_API MaterialParams
|
||||
struct NAZARA_GRAPHICS_API MaterialParams : ResourceParameters
|
||||
{
|
||||
bool loadAlphaMap = true;
|
||||
bool loadDiffuseMap = true;
|
||||
|
||||
@@ -10,13 +10,14 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceLoader.hpp>
|
||||
#include <Nazara/Core/ResourceParameters.hpp>
|
||||
#include <Nazara/Graphics/InstancedRenderable.hpp>
|
||||
#include <Nazara/Graphics/Material.hpp>
|
||||
#include <Nazara/Utility/Mesh.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
struct NAZARA_GRAPHICS_API ModelParameters
|
||||
struct NAZARA_GRAPHICS_API ModelParameters : ResourceParameters
|
||||
{
|
||||
ModelParameters();
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Nz
|
||||
void AddController(ParticleControllerRef controller);
|
||||
void AddEmitter(ParticleEmitter* emitter);
|
||||
void AddGenerator(ParticleGeneratorRef generator);
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const Matrix4f& transformMatrix) const;
|
||||
void AddToRenderQueue(AbstractRenderQueue* renderQueue, const Matrix4f& transformMatrix) const override;
|
||||
|
||||
void ApplyControllers(ParticleMapper& mapper, unsigned int particleCount, float elapsedTime);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
struct NAZARA_GRAPHICS_API SkeletalModelParameters : public ModelParameters
|
||||
struct NAZARA_GRAPHICS_API SkeletalModelParameters : ModelParameters
|
||||
{
|
||||
bool loadAnimation = true;
|
||||
AnimationParams animation;
|
||||
@@ -54,7 +54,7 @@ namespace Nz
|
||||
|
||||
bool HasAnimation() const;
|
||||
|
||||
bool IsAnimated() const;
|
||||
bool IsAnimated() const override;
|
||||
bool IsAnimationEnabled() const;
|
||||
|
||||
bool LoadFromFile(const String& filePath, const SkeletalModelParameters& params = SkeletalModelParameters());
|
||||
|
||||
@@ -30,13 +30,17 @@ namespace Nz
|
||||
SkyboxBackground(TextureRef cubemapTexture = TextureRef());
|
||||
~SkyboxBackground() = default;
|
||||
|
||||
void Draw(const AbstractViewer* viewer) const;
|
||||
void Draw(const AbstractViewer* viewer) const override;
|
||||
|
||||
BackgroundType GetBackgroundType() const;
|
||||
BackgroundType GetBackgroundType() const override;
|
||||
inline const Vector3f& GetMovementOffset() const;
|
||||
inline float GetMovementScale() const;
|
||||
inline const TextureRef& GetTexture() const;
|
||||
inline TextureSampler& GetTextureSampler();
|
||||
inline const TextureSampler& GetTextureSampler() const;
|
||||
|
||||
inline void SetMovementOffset(const Vector3f& offset);
|
||||
inline void SetMovementScale(float scale);
|
||||
inline void SetTexture(TextureRef cubemapTexture);
|
||||
inline void SetTextureSampler(const TextureSampler& sampler);
|
||||
|
||||
@@ -48,6 +52,8 @@ namespace Nz
|
||||
|
||||
TextureRef m_texture;
|
||||
TextureSampler m_sampler;
|
||||
Vector3f m_movementOffset;
|
||||
float m_movementScale;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,16 @@
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
inline const Vector3f& Nz::SkyboxBackground::GetMovementOffset() const
|
||||
{
|
||||
return m_movementOffset;
|
||||
}
|
||||
|
||||
inline float SkyboxBackground::GetMovementScale() const
|
||||
{
|
||||
return m_movementScale;
|
||||
}
|
||||
|
||||
inline const TextureRef& SkyboxBackground::GetTexture() const
|
||||
{
|
||||
return m_texture;
|
||||
@@ -22,6 +32,20 @@ namespace Nz
|
||||
return m_sampler;
|
||||
}
|
||||
|
||||
inline void SkyboxBackground::SetMovementOffset(const Vector3f& offset)
|
||||
{
|
||||
NazaraAssert(std::isfinite(offset.x) && std::isfinite(offset.y) && std::isfinite(offset.z), "Offset must be a finite vector");
|
||||
|
||||
m_movementOffset = offset;
|
||||
}
|
||||
|
||||
inline void SkyboxBackground::SetMovementScale(float scale)
|
||||
{
|
||||
NazaraAssert(std::isfinite(scale), "Scale must be a finite value");
|
||||
|
||||
m_movementScale = scale;
|
||||
}
|
||||
|
||||
inline void SkyboxBackground::SetTexture(TextureRef cubemapTexture)
|
||||
{
|
||||
NazaraAssert(!cubemapTexture || cubemapTexture->IsValid(), "Invalid texture");
|
||||
|
||||
@@ -23,6 +23,9 @@ namespace Nz
|
||||
|
||||
class NAZARA_GRAPHICS_API Sprite : public InstancedRenderable
|
||||
{
|
||||
friend SpriteLibrary;
|
||||
friend class Graphics;
|
||||
|
||||
public:
|
||||
inline Sprite();
|
||||
inline Sprite(MaterialRef material);
|
||||
@@ -57,6 +60,9 @@ namespace Nz
|
||||
void MakeBoundingVolume() const override;
|
||||
void UpdateData(InstanceData* instanceData) const override;
|
||||
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
Color m_color;
|
||||
MaterialRef m_material;
|
||||
Rectf m_textureCoords;
|
||||
|
||||
@@ -28,6 +28,7 @@ namespace Nz
|
||||
{
|
||||
public:
|
||||
inline TextSprite();
|
||||
inline TextSprite(const AbstractTextDrawer& drawer);
|
||||
inline TextSprite(const TextSprite& sprite);
|
||||
~TextSprite() = default;
|
||||
|
||||
@@ -65,6 +66,7 @@ namespace Nz
|
||||
|
||||
struct AtlasSlots
|
||||
{
|
||||
bool used;
|
||||
NazaraSlot(AbstractAtlas, OnAtlasCleared, clearSlot);
|
||||
NazaraSlot(AbstractAtlas, OnAtlasLayerChange, layerChangeSlot);
|
||||
NazaraSlot(AbstractAtlas, OnAtlasRelease, releaseSlot);
|
||||
|
||||
@@ -14,6 +14,12 @@ namespace Nz
|
||||
SetDefaultMaterial();
|
||||
}
|
||||
|
||||
inline TextSprite::TextSprite(const AbstractTextDrawer& drawer) :
|
||||
TextSprite()
|
||||
{
|
||||
Update(drawer);
|
||||
}
|
||||
|
||||
inline TextSprite::TextSprite(const TextSprite& sprite) :
|
||||
InstancedRenderable(sprite),
|
||||
m_renderInfos(sprite.m_renderInfos),
|
||||
|
||||
Reference in New Issue
Block a user