MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ generate_fullscreen_quad()

void MayaFlux::Buffers::NodeTextureBuffer::generate_fullscreen_quad ( )

Definition at line 140 of file NodeTextureBuffer.cpp.

141{
142 struct QuadVertex {
143 glm::vec3 position;
144 glm::vec2 texcoord;
145 };
146
147 const std::vector<QuadVertex> quad = {
148 { { -1.0F, -1.0F, 0.0F }, { 0.0F, 1.0F } },
149 { { 1.0F, -1.0F, 0.0F }, { 1.0F, 1.0F } },
150 { { -1.0F, 1.0F, 0.0F }, { 0.0F, 0.0F } },
151 { { 1.0F, 1.0F, 0.0F }, { 1.0F, 0.0F } }
152 };
153
154 m_vertex_bytes.resize(quad.size() * sizeof(QuadVertex));
155 std::memcpy(m_vertex_bytes.data(), quad.data(), m_vertex_bytes.size());
156
157 // Set vertex layout
158 Kakshya::VertexLayout vertex_layout {
159 .vertex_count = 4,
160 .stride_bytes = sizeof(QuadVertex),
161 .attributes = {
162 { .component_modality = Kakshya::DataModality::VERTEX_POSITIONS_3D,
163 .offset_in_vertex = offsetof(QuadVertex, position),
164 .name = "position" },
165 { .component_modality = Kakshya::DataModality::TEXTURE_COORDS_2D,
166 .offset_in_vertex = offsetof(QuadVertex, texcoord),
167 .name = "texcoord" } }
168 };
169
170 set_vertex_layout(vertex_layout);
171
173 "NodeTextureBuffer: generated fullscreen quad");
174}
#define MF_DEBUG(comp, ctx,...)
void set_vertex_layout(const Kakshya::VertexLayout &layout)
Set vertex layout for this buffer.
Definition VKBuffer.cpp:364
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.

References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, m_vertex_bytes, MF_DEBUG, MayaFlux::Buffers::VKBuffer::set_vertex_layout(), MayaFlux::Kakshya::TEXTURE_COORDS_2D, MayaFlux::Kakshya::VertexLayout::vertex_count, and MayaFlux::Kakshya::VERTEX_POSITIONS_3D.

Referenced by setup_processors().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: