Skip to content

Commit b9fbea8

Browse files
committed
Changed PixelRange input of the low level function to Float
1 parent 7bb3db0 commit b9fbea8

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

include/nbl/ext/TextRendering/TextRendering.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,13 @@ class TextRenderer : public nbl::core::IReferenceCounted
3636

3737
// Takes the CPUBuffer containing the image data in SNORM format and an offset into it
3838
uint32_t generateShapeMSDF(
39-
ICPUBuffer* buffer, uint32_t bufferOffset,
40-
msdfgen::Shape glyph, uint32_t baseMSDFPixelRange, uint32_t2 msdfExtents,
41-
float32_t2 scale, float32_t2 translate);
39+
ICPUBuffer* buffer,
40+
uint32_t bufferOffset,
41+
msdfgen::Shape glyph,
42+
float32_t msdfPixelRange,
43+
uint32_t2 msdfExtents,
44+
float32_t2 scale,
45+
float32_t2 translate);
4246

4347
TextRenderer()
4448
{
@@ -122,8 +126,7 @@ class FontFace : public nbl::core::IReferenceCounted
122126
// it will place the glyph in the center of msdfExtents considering the margin of msdfPixelRange
123127
// preserves aspect ratio of the glyph corresponding to metrics of the "glyphId"
124128
// use the `getUV` to address the glyph in your texture correctly.
125-
core::smart_refctd_ptr<ICPUImage> generateGlyphMSDF(
126-
uint32_t msdfPixelRange, uint32_t glyphId, uint32_t2 textureExtents, uint32_t mipLevels);
129+
core::smart_refctd_ptr<ICPUImage> generateGlyphMSDF(uint32_t baseMSDFPixelRange, uint32_t glyphId, uint32_t2 textureExtents, uint32_t mipLevels);
127130

128131
// transforms uv in glyph space to uv in the actual texture
129132
float32_t2 getUV(float32_t2 uv, float32_t2 glyphSize, uint32_t2 textureExtents, uint32_t msdfPixelRange);

src/nbl/ext/TextRendering/TextRendering.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,13 @@ namespace TextRendering
1818
{
1919

2020
uint32_t TextRenderer::generateShapeMSDF(
21-
ICPUBuffer* buffer, uint32_t bufferOffset,
22-
msdfgen::Shape glyph, uint32_t msdfPixelRange, uint32_t2 msdfExtents,
23-
float32_t2 scale, float32_t2 translate)
21+
ICPUBuffer* buffer,
22+
uint32_t bufferOffset,
23+
msdfgen::Shape glyph,
24+
float32_t msdfPixelRange,
25+
uint32_t2 msdfExtents,
26+
float32_t2 scale,
27+
float32_t2 translate)
2428
{
2529
uint32_t glyphW = msdfExtents.x;
2630
uint32_t glyphH = msdfExtents.y;
@@ -45,7 +49,7 @@ uint32_t TextRenderer::generateShapeMSDF(
4549

4650
msdfgen::Bitmap<float, 4> msdfMap(msdfExtents.x, msdfExtents.y);
4751

48-
double pxRange = (double)msdfPixelRange / (min(scale.x, scale.y));
52+
float32_t pxRange = msdfPixelRange / (min(scale.x, scale.y));
4953
msdfgen::generateMTSDF(msdfMap, glyph, pxRange, { scale.x, scale.y }, { translate.x, translate.y });
5054

5155
for (int y = 0; y < msdfExtents.x; ++y)

0 commit comments

Comments
 (0)