Jump to content

Zombie26

Members
  • Posts

    5
  • Joined

  • Last visited

Everything posted by Zombie26

  1. That worked! I feel so stupid for not thinking of that before. I had to make a conditional statement in the shader to swap the UV based on the normal position.
  2. So I've been trying to get a texture atlas to display correctly on my chunks but some of the textures are displayed sideways. I'm stumped trying to figure out how to rotate the textures. I've had some success using SetVertexNormal but I don't know how to flip them 90 degrees. Here's the shader I'm using, I converted it from this article. https://0fps.net/2013/07/09/texture-atlases-wrapping-and-mip-mapping/ //Initialize accumulators vec4 color = vec4(0.0, 0.0, 0.0, 0.0); float totalWeight = 0; vec2 tileUV = vec2(dot(ex_normal.zxy, ex_position), dot(ex_normal.yzx, ex_position)); tileOffset = vec2(0.20, 0); vec2 tileSize = vec2(0.025,0.025); for(int dx=0; dx<2; ++dx) for(int dy=0; dy<2; ++dy) { //Compute coordinate in 2x2 tile patch vec2 tileCoord = 2.0 * fract(1 * (tileUV + vec2(dx,dy))); //Weight sample based on distance to center float w = pow(1.0 - max(abs(tileCoord.x - 1.0), abs(tileCoord.y - 1.0)), 8.0); //Compute atlas coord vec2 atlasUV = tileOffset + tileSize * tileCoord; //Sample and accumulate color += w * texture(texture0, atlasUV); totalWeight += w; } //Return weighted color fragData0 = (color / totalWeight); I'm completely new to shader programming, so I'm sure there's some stupid mistake I've overlooked. Alternately I've tried using a texture array instead but have had little success. I was trying to follow this code but I couldn't get it to work. I guess texturing with algorithms is a bit more complicated than I thought it was going to be. I was planning on rendering multiple chunks and cave generation but got stuck trying to figure out how to properly texture a single chunk.
×
×
  • Create New...