76 lines
1.4 KiB
C
76 lines
1.4 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "raylib.h"
|
|
|
|
#define ENTITY_COUNT 10000000
|
|
#define TEST_DOD
|
|
|
|
typedef struct DoDState
|
|
{
|
|
Vector2* positions;
|
|
Color* colors;
|
|
Vector2* outputs;
|
|
} DoDState;
|
|
|
|
typedef struct ObjState
|
|
{
|
|
Vector2 position;
|
|
Color color;
|
|
Vector2 output;
|
|
} ObjState;
|
|
|
|
ObjState objects[ENTITY_COUNT];
|
|
|
|
Vector2 positions[ENTITY_COUNT];
|
|
Color colors[ENTITY_COUNT];
|
|
Vector2 outputs[ENTITY_COUNT];
|
|
|
|
|
|
void AWESOME_FUNCTION(void)
|
|
{
|
|
#ifdef TEST_DOD
|
|
for (int i = 0; i < ENTITY_COUNT; i++)
|
|
{
|
|
const Vector2 output = (Vector2){
|
|
// positions[i] = (Vector2){
|
|
positions[i].x * 2,
|
|
positions[i].y * 2,
|
|
};
|
|
outputs[i] = output;
|
|
}
|
|
#else
|
|
for (int i = 0; i < ENTITY_COUNT; i++)
|
|
{
|
|
const Vector2 output = (Vector2){
|
|
objects[i].position.x * objects[i].color.r,
|
|
objects[i].position.y * objects[i].color.b,
|
|
};
|
|
objects[i].output = output;
|
|
}
|
|
#endif
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
// Populate the data
|
|
int r = rand();
|
|
for (int i = 0; i < ENTITY_COUNT; i++)
|
|
{
|
|
positions[i].x = (float)r / RAND_MAX;
|
|
positions[i].y = (float)r / RAND_MAX;
|
|
|
|
colors[i].r = r % 256;
|
|
colors[i].g = r % 256;
|
|
colors[i].b = r % 256;
|
|
colors[i].a = r % 256;
|
|
|
|
objects[i].position = positions[i];
|
|
objects[i].color = colors[i];
|
|
}
|
|
|
|
AWESOME_FUNCTION();
|
|
|
|
return 0;
|
|
}
|