Scaling a Bitmap Fill

My search-fu has failed me, both on the forums on in the TUM and Help.

I've added the checkered tile bitmap from DD3 Color to my map (using a SS4/Schley template) and I'm having trouble scaling the fill.

Regardless of if I check the "Scaled" box or not, the fill changes sizes as I zoom in and out. I'd love to get it to be 2ft squares and stay there. So what am I missing?

Comments

  • MonsenMonsen Administrator 🖼️ 81 images Cartographer
    hmm. Shouldn't be doing that with those settings. Are you sure this is actually the same fill as the one you are using in your map, i.e. you haven't accidentally defined the fill twice, and are now editing the "wrong" copy?
    If this is not the case, I wouldn't mind having a look at the .fcw itself.

    Unrelated, but make sure to replace the "c:\apps\profantasy\cc3plus\" part of that file path with an @, otherwise the map won't be very portable.
  • Now I did not import the fill. I thought that since the fill already had all the resolutions and was used in another style I could just Create a New fill and use Find in the dialog box to add it to my map. Is that wrong? I'll PM you a link to download the fcw in a minute.

    Thanks once again for helping.
  • MonsenMonsen Administrator 🖼️ 81 images Cartographer
    No, adding it manually is fine. (Just mind the path)
    Only thing importing does differently is giving you the ability to generate other resolutions, and to quickly import a complete folder of textures, but otherwise there is no difference to the end result.
  • MonsenMonsen Administrator 🖼️ 81 images Cartographer
    hm... I see what you mean, but I don't think there is anything to be done about it.

    This seems to be a tiny rendering glitch, but which is being made that much more visible by the length of size of your filled entity.

    If you look at the tiles, they are not really changing size (Not by a large amount at least, as you would see from unscaled fills). Unfortunately, the rendering is quite tricky (Joe can tell you more about it), but basically, what needs to happen is that the artwork (which only have the accuracy of a pixel) needs to be fitted to the CC3+ coordinate system (map units, which are way more precise than a single pixel) and then this have to be rendered back to the screen, reduced in precision to pixels again. This is causing a very small variation on different zoom levels. Normally, it isn't particularly visible, but because that huge area of yours repeats the fill many times over, these minuscule variations are summed up to become quite noticeable down at the bottom.

    I am not sure how to best handle it. You can minimize the effect by using smaller areas. This will cause the effect to be more distributed, but it won't be gone.
    The effect is also less visible on deep zooms, which means it will also be less of a problem on high resolution exports.

    I don't have a perfect solution for you unfortunately, trying to make elements in a fill an exact size is not the strongest point of CC3+ when you need pixel perfection.
  • jslaytonjslayton Moderator, ProFantasy Mapmaker
    The rasterization technique used in CC3 to convert the abstract drawing-space entity to a pixel-based screen entity isn't quite as accurate as it could be. It's a trade-off between speed and correctness. The problem that you describe is a known one and will need a rewrite of big chunks of the low-level renderer to fix. I can't begin to guess when or if that will happen.
  • jslaytonjslayton Moderator, ProFantasy Mapmaker
    A not-fun way to mitigate this problem is to chop up that fill into smaller tiles (maybe 2x2 squares), define a symbol set for that fill, and the use symbols in area to grid those symbols on to the entity to fill. You can get a more random effective fill this way as well. Now somebody needs to add an align to grid option to symbols in area to easily force grids to align across entities and this be "easy" to use.
  • Posted By: jslayton... Now somebody needs to add an align to grid option to symbols in area to easily force grids to align across entities and this be "easy" to use.
    If 'somebody' did that, I would be a very, very, very happy mapper. ;) Imagine...truly random floor tiles...
  • As always, I appreciate the time, thought and inputs from everyone.

    In this case I'm not too worried about have an exact size of the fill. I'm more worried about exports at different resolutions will have different appearances. Since I plan to have several exports of this map (poster size full map, low detail full map, and mid-resolution battle maps). Does that change a possible recommended approach?

    Also, No reason I can't break the area up into multiple areas if that would help and I can get the fills to match at the interfaces. Would square areas be better?

    Is their a formula for figuring out the scale factor?

    For instance, if I want to fill a 40x40 (ft) area, how does the scale factor figure in and does the sample width impact?
  • MonsenMonsen Administrator 🖼️ 81 images Cartographer
    The scale factor is simply the size in the map one copy of the fill pattern will take. So, if the scale factor is 10 by 10, then the pattern will repeat every 10 map unit (assuming no repetitions in the image file itself). To figure out approximate sizing for sub-elements in the texture (for example each tile in that checkerboard pattern), I recommend looking at the image in an image editor. For that particular image, since it is 4 tiles, and assuming you want each of them to be 5 foot, then the scale factor should be 20.

    If you want to fill that 40 by 40 area with exactly one copy of the texture, then the scale factor would be 40 by 40 too, but normally, the size of the area you wish to fill is irrelevant for the scale factor. Also, sample with is just the width of that little preview window in the fill dialog, and has no impact on the fill in the map at all.
  • Ok, I think I understand this better, and if I do, then what I will call drift (the difference between the actual object and the screen resolution) is really just going to be a pixel or so per repetition. So the larger the area and the smaller the tile/fill, the more of these drift pixels there are and the more significant the appearance changes as I zoom (and therefore change the size of the pixels).

    I'll have to see how this exports at various resolutions. Thanks again.
  • jslaytonjslayton Moderator, ProFantasy Mapmaker
    Posted By: Shessar
    Posted By: jslayton... Now somebody needs to add an align to grid option to symbols in area to easily force grids to align across entities and this be "easy" to use.
    If 'somebody' did that, I would be a very, very,veryhappy mapper. ;) Imagine...truly random floor tiles...
    You can do it now by drawing a rect aligned to the grid and filling it with symbols representing your tiles. Then draw your wall mask on top of that. It's just not as efficient as only filling the visible areas.
Sign In or Register to comment.