Skip to content

Commit

Permalink
make voxel shades match voxlap
Browse files Browse the repository at this point in the history
  • Loading branch information
xtreme8000 committed May 14, 2018
1 parent 3779eb4 commit db7337d
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 51 deletions.
103 changes: 55 additions & 48 deletions src/chunk.c
Expand Up @@ -1337,6 +1337,13 @@ void chunk_generate_greedy(struct chunk_worker* worker) {
worker->max_height = max_height;
}

//+X = 0.75
//-X = 0.75
//+Y = 1.0
//-Y = 0.5
//+Z = 0.625
//-Z = 0.875

void chunk_generate_naive(struct chunk_worker* worker) {
int size = 0;
int max_height = 0;
Expand Down Expand Up @@ -1374,21 +1381,21 @@ void chunk_generate_naive(struct chunk_worker* worker) {
CHECK_ALLOCATION_ERROR(worker->color_data)
}
size++;
worker->color_data[chunk_color_index++] = (int)(r*0.7F*(((col>>54)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.7F*(((col>>54)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.7F*(((col>>54)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.875F*(((col>>54)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.875F*(((col>>54)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.875F*(((col>>54)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.7F*(((col>>52)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.7F*(((col>>52)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.7F*(((col>>52)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.875F*(((col>>52)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.875F*(((col>>52)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.875F*(((col>>52)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.7F*(((col>>53)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.7F*(((col>>53)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.7F*(((col>>53)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.875F*(((col>>53)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.875F*(((col>>53)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.875F*(((col>>53)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.7F*(((col>>55)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.7F*(((col>>55)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.7F*(((col>>55)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.875F*(((col>>55)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.875F*(((col>>55)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.875F*(((col>>55)&1)*0.35F+0.65F));

worker->vertex_data[chunk_vertex_index++] = x;
worker->vertex_data[chunk_vertex_index++] = y;
Expand Down Expand Up @@ -1428,21 +1435,21 @@ void chunk_generate_naive(struct chunk_worker* worker) {
CHECK_ALLOCATION_ERROR(worker->color_data)
}
size++;
worker->color_data[chunk_color_index++] = (int)(r*0.6F*(((col>>50)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.6F*(((col>>50)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.6F*(((col>>50)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.625F*(((col>>50)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.625F*(((col>>50)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.625F*(((col>>50)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.6F*(((col>>51)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.6F*(((col>>51)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.6F*(((col>>51)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.625F*(((col>>51)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.625F*(((col>>51)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.625F*(((col>>51)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.6F*(((col>>49)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.6F*(((col>>49)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.6F*(((col>>49)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.625F*(((col>>49)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.625F*(((col>>49)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.625F*(((col>>49)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.6F*(((col>>48)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.6F*(((col>>48)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.6F*(((col>>48)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.625F*(((col>>48)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.625F*(((col>>48)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.625F*(((col>>48)&1)*0.35F+0.65F));


worker->vertex_data[chunk_vertex_index++] = x;
Expand Down Expand Up @@ -1483,21 +1490,21 @@ void chunk_generate_naive(struct chunk_worker* worker) {
CHECK_ALLOCATION_ERROR(worker->color_data)
}
size++;
worker->color_data[chunk_color_index++] = (int)(r*0.9F*(((col>>46)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.9F*(((col>>46)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.9F*(((col>>46)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>46)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>46)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>46)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.9F*(((col>>47)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.9F*(((col>>47)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.9F*(((col>>47)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>47)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>47)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>47)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.9F*(((col>>45)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.9F*(((col>>45)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.9F*(((col>>45)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>45)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>45)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>45)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.9F*(((col>>44)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.9F*(((col>>44)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.9F*(((col>>44)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>44)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>44)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>44)&1)*0.35F+0.65F));

worker->vertex_data[chunk_vertex_index++] = x;
worker->vertex_data[chunk_vertex_index++] = y;
Expand Down Expand Up @@ -1537,21 +1544,21 @@ void chunk_generate_naive(struct chunk_worker* worker) {
CHECK_ALLOCATION_ERROR(worker->color_data)
}
size++;
worker->color_data[chunk_color_index++] = (int)(r*0.8F*(((col>>42)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.8F*(((col>>42)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.8F*(((col>>42)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>42)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>42)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>42)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.8F*(((col>>40)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.8F*(((col>>40)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.8F*(((col>>40)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>40)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>40)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>40)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.8F*(((col>>41)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.8F*(((col>>41)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.8F*(((col>>41)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>41)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>41)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>41)&1)*0.35F+0.65F));

worker->color_data[chunk_color_index++] = (int)(r*0.8F*(((col>>43)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.8F*(((col>>43)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.8F*(((col>>43)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(r*0.75F*(((col>>43)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(g*0.75F*(((col>>43)&1)*0.35F+0.65F));
worker->color_data[chunk_color_index++] = (int)(b*0.75F*(((col>>43)&1)*0.35F+0.65F));

worker->vertex_data[chunk_vertex_index++] = x+1;
worker->vertex_data[chunk_vertex_index++] = y;
Expand Down
6 changes: 3 additions & 3 deletions src/map.c
Expand Up @@ -596,10 +596,10 @@ int map_cube_line(int x1, int y1, int z1, int x2, int y2, int z2, struct Point*
void map_vxl_load(unsigned char* v, unsigned int* map) {
for(int k=0;k<map_size_x*map_size_z;k++)
pthread_rwlock_wrlock(&chunk_map_locks[k]);
for(int y=0;y<512;y++) {
for(int x=0;x<512;x++) {
for(int y=0;y<map_size_z;y++) {
for(int x=0;x<map_size_x;x++) {
int z;
for(z=0;z<64;z++) {
for(z=0;z<map_size_y;z++) {
map_vxl_setgeom(x,y,z,0x273F66,map);
}
z = 0;
Expand Down

0 comments on commit db7337d

Please sign in to comment.