X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fchunk.cpp;h=f43f8fd524582525a08d0f915e1e7d9d02db752e;hb=9c2baccb84195b7a2858c2b967c94d15cd31836b;hp=fbee721c601b4fb0451f17ef72ef43f1b6f3599f;hpb=6933bedd9a46d69d9ad3cbdee4f17cd78103e336;p=blank.git diff --git a/src/chunk.cpp b/src/chunk.cpp index fbee721..f43f8fd 100644 --- a/src/chunk.cpp +++ b/src/chunk.cpp @@ -104,7 +104,7 @@ bool Chunk::Intersection( *dist = closest_dist; } if (normal) { - *normal = closest_normal; + *normal = glm::vec3(BlockAt(closest_id).Transform() * glm::vec4(closest_normal, 0.0f)); } return true; } @@ -160,11 +160,11 @@ bool Chunk::Obstructed(int idx) const { const BlockType &left = Type(blocks[idx - 1]); if (!left.fill.right) return false; - const BlockType &top = Type(blocks[idx + Width()]); - if (!top.fill.bottom) return false; + const BlockType &up = Type(blocks[idx + Width()]); + if (!up.fill.down) return false; - const BlockType &bottom = Type(blocks[idx - Width()]); - if (!bottom.fill.top) return false; + const BlockType &down = Type(blocks[idx - Width()]); + if (!down.fill.up) return false; const BlockType &front = Type(blocks[idx + Width() * Height()]); if (!front.fill.back) return false;