mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 04:42:32 +00:00
0ccee3032e
Partial because frame buffer creation isn't handled yet (using six layers), but using layer a layer capable view and shaders doesn't cause problems (other than maybe slightly slower code).
14 lines
378 B
Text
14 lines
378 B
Text
#include "oit.h"
|
|
|
|
void
|
|
StoreFrag (vec4 color, float depth)
|
|
{
|
|
int index = atomicAdd (numFragments, 1);
|
|
ivec3 coord = ivec3(gl_FragCoord.xy, gl_ViewIndex);
|
|
if (index < maxFragments) {
|
|
int prevIndex = imageAtomicExchange (heads, coord, index);
|
|
fragments[index].color = color;
|
|
fragments[index].depth = depth;
|
|
fragments[index].next = prevIndex;
|
|
}
|
|
}
|