mirror of https://github.com/AxioDL/metaforce.git
CLineRenderer: Make use of std::array where applicable
Same behavior, but without the potential for unintentional array to pointer decay.
This commit is contained in:
parent
858162e0c1
commit
e5e4a6482c
|
@ -1,5 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
|
||||||
#include "Runtime/RetroTypes.hpp"
|
#include "Runtime/RetroTypes.hpp"
|
||||||
#include "Runtime/rstl.hpp"
|
#include "Runtime/rstl.hpp"
|
||||||
#include "Runtime/Graphics/CGraphics.hpp"
|
#include "Runtime/Graphics/CGraphics.hpp"
|
||||||
|
@ -68,7 +70,7 @@ public:
|
||||||
hecl::VertexBufferPool<SDrawVertTex>::Token m_vertBufTex;
|
hecl::VertexBufferPool<SDrawVertTex>::Token m_vertBufTex;
|
||||||
hecl::VertexBufferPool<SDrawVertNoTex>::Token m_vertBufNoTex;
|
hecl::VertexBufferPool<SDrawVertNoTex>::Token m_vertBufNoTex;
|
||||||
hecl::UniformBufferPool<SDrawUniform>::Token m_uniformBuf;
|
hecl::UniformBufferPool<SDrawUniform>::Token m_uniformBuf;
|
||||||
boo::ObjToken<boo::IShaderDataBinding> m_shaderBind[2];
|
std::array<boo::ObjToken<boo::IShaderDataBinding>, 2> m_shaderBind;
|
||||||
|
|
||||||
CLineRenderer(boo::IGraphicsDataFactory::Context& ctx, EPrimitiveMode mode, u32 maxVerts,
|
CLineRenderer(boo::IGraphicsDataFactory::Context& ctx, EPrimitiveMode mode, u32 maxVerts,
|
||||||
const boo::ObjToken<boo::ITexture>& texture, bool additive, bool zTest = false, bool zGEqual = false);
|
const boo::ObjToken<boo::ITexture>& texture, bool additive, bool zTest = false, bool zGEqual = false);
|
||||||
|
|
|
@ -111,7 +111,7 @@ void CLineRendererShaders::BuildShaderDataBinding(boo::IGraphicsDataFactory::Con
|
||||||
const std::array<size_t, 1> ubufOffs{size_t(ubufInfo.second)};
|
const std::array<size_t, 1> ubufOffs{size_t(ubufInfo.second)};
|
||||||
const std::array<size_t, 1> ubufSizes{sizeof(CLineRenderer::SDrawUniform)};
|
const std::array<size_t, 1> ubufSizes{sizeof(CLineRenderer::SDrawUniform)};
|
||||||
|
|
||||||
for (size_t i = 0; i < std::size(renderer.m_shaderBind); ++i) {
|
for (size_t i = 0; i < renderer.m_shaderBind.size(); ++i) {
|
||||||
renderer.m_shaderBind[i] = ctx.newShaderDataBinding(
|
renderer.m_shaderBind[i] = ctx.newShaderDataBinding(
|
||||||
(*pipeline)[i], vbufInfo.first.get(), nullptr, nullptr, uniforms.size(), uniforms.data(), stages.data(),
|
(*pipeline)[i], vbufInfo.first.get(), nullptr, nullptr, uniforms.size(), uniforms.data(), stages.data(),
|
||||||
ubufOffs.data(), ubufSizes.data(), texCount, textures.data(), nullptr, nullptr, vbufInfo.second);
|
ubufOffs.data(), ubufSizes.data(), texCount, textures.data(), nullptr, nullptr, vbufInfo.second);
|
||||||
|
|
Loading…
Reference in New Issue