MCPcopy Create free account
hub / github.com/RavEngine/RavEngine / CreateResources

Method CreateResources

deps/LLGL/examples/Cpp/MultiRenderer/Example.cpp:108–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

106}
107
108void MyRenderer::CreateResources(const std::vector<VertexPos3Tex2>& vertices, const std::vector<std::uint32_t>& indices)
109{
110 // Vertex format
111 LLGL::VertexFormat vertexFormat;
112 vertexFormat.AppendAttribute({ "position", LLGL::Format::RGB32Float });
113 vertexFormat.AppendAttribute({ "texCoord", LLGL::Format::RG32Float });
114
115 // Create vertex buffer
116 vertexBuffer = renderer->CreateBuffer(
117 LLGL::VertexBufferDesc(sizeof(VertexPos3Tex2) * vertices.size(), vertexFormat),
118 vertices.data()
119 );
120
121 // Create index buffer
122 indexBuffer = renderer->CreateBuffer(
123 LLGL::IndexBufferDesc(sizeof(std::uint32_t) * indices.size(), LLGL::Format::R32UInt),
124 indices.data()
125 );
126
127 // Create constant buffer
128 constantBuffer = renderer->CreateBuffer(LLGL::ConstantBufferDesc(sizeof(Gs::Matrix4f)));
129
130 // Create textures
131 const std::string texturePath = "../../Media/Textures/";
132 texture = LoadTextureWithRenderer(
133 *renderer,
134 (texturePath + "Logo_" + rendererModule + ".png")
135 );
136
137 // Create samplers
138 LLGL::SamplerDescriptor samplerDesc;
139 {
140 samplerDesc.maxAnisotropy = 8;
141 }
142 sampler = renderer->CreateSampler(samplerDesc);
143
144 // Create shaders
145 LLGL::Shader* vertShader = nullptr;
146 LLGL::Shader* fragShader = nullptr;
147
148 const auto& languages = renderer->GetRenderingCaps().shadingLanguages;
149
150 LLGL::ShaderDescriptor vertShaderDesc, fragShaderDesc;
151
152 if (std::find(languages.begin(), languages.end(), LLGL::ShadingLanguage::HLSL) != languages.end())
153 {
154 vertShaderDesc = LLGL::ShaderDescFromFile(LLGL::ShaderType::Vertex, "Example.hlsl", "VS", "vs_4_0");
155 fragShaderDesc = LLGL::ShaderDescFromFile(LLGL::ShaderType::Fragment, "Example.hlsl", "PS", "ps_4_0");
156 }
157 else if (std::find(languages.begin(), languages.end(), LLGL::ShadingLanguage::GLSL) != languages.end())
158 {
159 vertShaderDesc = LLGL::ShaderDescFromFile(LLGL::ShaderType::Vertex, "Example.vert");
160 fragShaderDesc = LLGL::ShaderDescFromFile(LLGL::ShaderType::Fragment, "Example.frag");
161 }
162 else if (std::find(languages.begin(), languages.end(), LLGL::ShadingLanguage::SPIRV) != languages.end())
163 {
164 vertShaderDesc = LLGL::ShaderDescFromFile(LLGL::ShaderType::Vertex, "Example.450core.vert.spv");
165 fragShaderDesc = LLGL::ShaderDescFromFile(LLGL::ShaderType::Fragment, "Example.450core.frag.spv");

Callers 1

mainFunction · 0.80

Calls 15

LoadTextureWithRendererFunction · 0.85
findFunction · 0.85
AppendAttributeMethod · 0.80
CreateBufferMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45
CreateSamplerMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
CreateShaderMethod · 0.45
GetReportMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected