srp
software rendering pipeline
Loading...
Searching...
No Matches
vertex_processing.h
Go to the documentation of this file.
1// Software Rendering Pipeline (SRP) library
2// Licensed under GNU GPLv3
3
8#pragma once
9
10#include "srp/shaders.h"
11#include "core/buffer_p.h"
12
21
31
39 VertexCache* cache, const SRPIndexBuffer* ib, size_t startIndex,
40 size_t vertexCount, size_t varyingSize
41);
42
51 VertexCache* cache, size_t vertexIndex, const SRPVertexBuffer* vb,
52 const SRPShaderProgram* sp
53);
54
62void processVertex(
63 size_t vertexIndex, void* varyingBlock, size_t varyingIndex,
64 const SRPVertexBuffer* vb, const SRPShaderProgram* sp, SRPVertexShaderOut* outV
65);
66
71void applyPerspectiveDivide(SRPVertexShaderOut* output, float* outInvW);
72
// ingroup Vertex_processing
void allocateVertexCache(VertexCache *cache, const SRPIndexBuffer *ib, size_t startIndex, size_t vertexCount, size_t varyingSize)
Definition vertex_processing.c:23
SRPVertexShaderOut * vertexCacheFetch(VertexCache *cache, size_t vertexIndex, const SRPVertexBuffer *vb, const SRPShaderProgram *sp)
Definition vertex_processing.c:38
void applyPerspectiveDivide(SRPVertexShaderOut *output, float *outInvW)
Definition vertex_processing.c:76
void processVertex(size_t vertexIndex, void *varyingBlock, size_t varyingIndex, const SRPVertexBuffer *vb, const SRPShaderProgram *sp, SRPVertexShaderOut *outV)
Definition vertex_processing.c:55
Definition buffer_p.h:24
Definition shaders.h:93
Definition buffer_p.h:16
Definition shaders.h:34
Definition vertex_processing.h:17
bool valid
Definition vertex_processing.h:18
SRPVertexShaderOut data
Definition vertex_processing.h:19
Definition vertex_processing.h:23
VertexCacheEntry * entries
Definition vertex_processing.h:24
size_t size
Definition vertex_processing.h:27
size_t baseVertex
Definition vertex_processing.h:25
void * varyingBlock
Definition vertex_processing.h:28