mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-05 19:08:13 +00:00
Update rlgl_compute_shader.c
This commit is contained in:
@@ -74,10 +74,10 @@ int main(void)
|
|||||||
unsigned int ssboA = rlLoadShaderBuffer(GOL_WIDTH*GOL_WIDTH*sizeof(unsigned int), NULL, RL_DYNAMIC_COPY);
|
unsigned int ssboA = rlLoadShaderBuffer(GOL_WIDTH*GOL_WIDTH*sizeof(unsigned int), NULL, RL_DYNAMIC_COPY);
|
||||||
unsigned int ssboB = rlLoadShaderBuffer(GOL_WIDTH*GOL_WIDTH*sizeof(unsigned int), NULL, RL_DYNAMIC_COPY);
|
unsigned int ssboB = rlLoadShaderBuffer(GOL_WIDTH*GOL_WIDTH*sizeof(unsigned int), NULL, RL_DYNAMIC_COPY);
|
||||||
unsigned int ssboTransfert = rlLoadShaderBuffer(sizeof(GolUpdateSSBO), NULL, RL_DYNAMIC_COPY);
|
unsigned int ssboTransfert = rlLoadShaderBuffer(sizeof(GolUpdateSSBO), NULL, RL_DYNAMIC_COPY);
|
||||||
|
|
||||||
GolUpdateSSBO transfertBuffer = { 0 };
|
GolUpdateSSBO transfertBuffer = { 0 };
|
||||||
|
|
||||||
// Create a white texture of the size of the window to update
|
// Create a white texture of the size of the window to update
|
||||||
// each pixel of the window using the fragment shader: golRenderShader
|
// each pixel of the window using the fragment shader: golRenderShader
|
||||||
Image whiteImage = GenImageColor(GOL_WIDTH, GOL_WIDTH, WHITE);
|
Image whiteImage = GenImageColor(GOL_WIDTH, GOL_WIDTH, WHITE);
|
||||||
Texture whiteTex = LoadTextureFromImage(whiteImage);
|
Texture whiteTex = LoadTextureFromImage(whiteImage);
|
||||||
@@ -105,7 +105,7 @@ int main(void)
|
|||||||
{
|
{
|
||||||
// Send SSBO buffer to GPU
|
// Send SSBO buffer to GPU
|
||||||
rlUpdateShaderBuffer(ssboTransfert, &transfertBuffer, sizeof(GolUpdateSSBO), 0);
|
rlUpdateShaderBuffer(ssboTransfert, &transfertBuffer, sizeof(GolUpdateSSBO), 0);
|
||||||
|
|
||||||
// Process SSBO commands on GPU
|
// Process SSBO commands on GPU
|
||||||
rlEnableShader(golTransfertProgram);
|
rlEnableShader(golTransfertProgram);
|
||||||
rlBindShaderBuffer(ssboA, 1);
|
rlBindShaderBuffer(ssboA, 1);
|
||||||
@@ -143,7 +143,7 @@ int main(void)
|
|||||||
BeginShaderMode(golRenderShader);
|
BeginShaderMode(golRenderShader);
|
||||||
DrawTexture(whiteTex, 0, 0, WHITE);
|
DrawTexture(whiteTex, 0, 0, WHITE);
|
||||||
EndShaderMode();
|
EndShaderMode();
|
||||||
|
|
||||||
DrawRectangleLines(GetMouseX() - brushSize/2, GetMouseY() - brushSize/2, brushSize, brushSize, RED);
|
DrawRectangleLines(GetMouseX() - brushSize/2, GetMouseY() - brushSize/2, brushSize, brushSize, RED);
|
||||||
|
|
||||||
DrawText("Use Mouse wheel to increase/decrease brush size", 10, 10, 20, WHITE);
|
DrawText("Use Mouse wheel to increase/decrease brush size", 10, 10, 20, WHITE);
|
||||||
|
Reference in New Issue
Block a user