Quick Links: Gideros Home | Download Gideros | Developer Guide
Tileset crumbling
  • Yan +1 -1
    Member
    So, I have a tilemap level that uses standart TileMap.lua and my own Camera.lua based on standart script

    Camera code:
    function Camera:onEnterFrame()
     
    if self.isPaused or not self.focus then return end
     
    local focusObj = self:getScaledCoord(self.focus)
     
    self.offset.x, self.offset.y = 0, 0
     
    if self.worldW - focusObj.x < self.screenW / 2 then
     
    self.offset.x = -self.worldW + self.screenW
     
    elseif focusObj.x >= self.screenW / 2 then
     
    self.offset.x = -(focusObj.x - self.screenW / 2)
     
    end
     
    if self.worldH - focusObj.y < self.screenH / 2 then
     
    self.offset.y = -self.worldH + self.screenH
     
    elseif focusObj.y >= self.screenH / 2 then
     
    self.offset.y = -(focusObj.y - self.screenH / 2)
     
    end
     
    self:setPosition(self.offset.x, self.offset.y) -- IF I USE THIS I SEE CRISP
    self:setPosition(math.floor(self.offset.x + 0.5), math.floor(self.offset.y + 0.5)) --IF I USE THIS FIX THERE ARE NO CRISP, BUT CAMERA FLOW NOT SMOOTH


    My pause background build this func:
    function Level:getScreenShot()
     
    local screenShotRender = RenderTarget.new(appSettings.w, appSettings.h)
    screenShotRender:draw(self)
     
    local screenShot = Bitmap.new(screenShotRender)
    --screenShot:setColorTransform(0.3, 0.3, 0.3, 1)
     
    return screenShot
     
    end


    You can see gaps between tiles and my tilemap texture doesnt use filtering. Most of times you can see this effect when you moving along level, so I used a fix in my camera code, that solves this problem.

    But even when I use the fix above, when I do Pause, I need to render current screen to Image and show as pause background - and on this render target I see crisps, but how and why ?

    This bug follows from 2016 version till now. Should to notice, on PC In Gideros PLayer this bug almost never appeared, and than slower device, then often I see this bug. But that still appears on 8core devices, like Lenovo K50-T5 (K3 Note) and RedmiNote 2
    Screenshot_2017-05-26-11-56-23-961.jpeg
    1920 x 1080 - 1M
    Screenshot_2017-05-26-11-56-14-302.jpeg
    1920 x 1080 - 1M
  • hgy29hgy29 +1 -1
    Maintainer
    Hi @Yan,
    I've been looking through gideros code for something that could explain this issue, and found out that using swap flags may cause this. Is this your case ?
  • Yan +1 -1
    Member
    hgy29 said:

    Hi @Yan,
    I've been looking through gideros code for something that could explain this issue, and found out that using swap flags may cause this. Is this your case ?



    Can you explain what for swap flag, never seen this before ?

  • hgy29hgy29 +1 -1
    Maintainer
    @Yan, I stumbled across a similar issue with TileMap (tiles edge artifacts) just now and found out that using a filtered texture causes them in my case.
    Hope this helps...
  • Yan +1 -1
    Member
    hgy29 said:

    @Yan, I stumbled across a similar issue with TileMap (tiles edge artifacts) just now and found out that using a filtered texture causes them in my case.
    Hope this helps...



    Yes, but this aint works, because my tiles already aint filtered, There are some tiny spaces between tiles, looks like position for each tile counted with different integer precision, because when I set float on my camera position this bug goes away.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook Sign In with Google Sign In with OpenID

In this Discussion

Top Posters