Skip to content

Commit

Permalink
24.9.12
Browse files Browse the repository at this point in the history
[Engine]
* Fix using wrong type (but same result runtime) in processing glyph texture co-ordinates.
* Use 'crend()' instead of 'rend()' in pixcon.hpp and wincon.hpp.
* Readability fixes.

[Assets]
* Check that directory exists in MacOS script and clean-ups.
  • Loading branch information
Mhatxotic committed Sep 11, 2024
1 parent 07fdfe3 commit dff0c86
Show file tree
Hide file tree
Showing 13 changed files with 161 additions and 134 deletions.
17 changes: 8 additions & 9 deletions scripts/build-mach.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
# @ https://github.com/XMhat/MSEngine
# Copyright (c) MS-Design, 2006-present. All Rights Reserved.

# Clear the screen
printf '\33c\e[3J'

# Set the project directory incase we're not in it
cd ~/Assets/MSEngine

# Set ALPHA, BETA or RELEASE type
TYPE=BETA

Expand Down Expand Up @@ -71,12 +65,17 @@ compile()
echo
}

# Clear the screen
printf '\33c\e[3J'
# Set the project directory incase we're not in it
cd ~/Assets/MSEngine
if [ $? -ne 0 ]; then exit 2; fi
# Compile X86-64 version
compile $TYPE x86_64-apple-macos10.12 32
if [ $? -ne 0 ]; then exit 2; fi
if [ $? -ne 0 ]; then exit 3; fi
# Compile ARM64 version
compile $TYPE arm64-apple-macos11 64
if [ $? -ne 0 ]; then exit 3; fi
if [ $? -ne 0 ]; then exit 4; fi

# If both binaries available?
if [ -f bin/build32.mac ] && [ -f bin/build64.mac ]; then
Expand All @@ -94,4 +93,4 @@ if [ -f bin/build32.mac ] && [ -f bin/build64.mac ]; then
fi

# Print end of script
echo ${C1}Completed!
echo ${C1}Completed\!
51 changes: 35 additions & 16 deletions src/fbodef.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,35 +17,54 @@ namespace P { // Start of public module namespace
constexpr static const size_t
/* -- Defines to describe a simple triangle ----------------------------- */
stVertexPerTriangle = 3, // Vertices used in a triangle (3 ofc!)
stTwoTriangles = (stVertexPerTriangle * 2),
stTwoTriangles = stVertexPerTriangle * 2,
stTrisPerQuad = 2, // Triangles needed to make a quad
/* -- Defines for triangle texture co-ordinates data --------------------- */
// [0]X: The left 2D pixel co-ordinate. Shader converts it to 3D for us.
// [1]Y: The top 2D pixel co-ordinate. Shader converts it to 3D for us.
// [2]Z: Not being used so that co-ordinate is ignored and assumed 0.0f.
// [3]W: Not being used so that co-ordinate is ignored and assumed 1.0f.
stCompsPerCoord = 2, // Floats used to define texcoord (XY)
stFloatsPerCoord = (stVertexPerTriangle * stCompsPerCoord),
stFloatsPerCoord = stVertexPerTriangle * stCompsPerCoord,
// Note: If we need to increase this value in the future, it is important
// that the arrays in 'FboItem.hpp' and 'Fbo.hpp' are updated to reflect the
// change.
/* -- Defines for triangle position co-ordinates data--------------------- */
// [0]X: The left 2D pixel co-ordinate. Shader converts it to 3D for us.
// [1]Y: The top 2D pixel co-ordinate. Shader converts it to 3D for us.
// [2]Z: Not being used so that co-ordinate is ignored and assumed 0.0f.
// [3]W: Not being used so that co-ordinate is ignored and assumed 0.0f.
stCompsPerPos = 2, // Floats used to define position (XY)
stFloatsPerPos = (stVertexPerTriangle * stCompsPerPos),
stFloatsPerPos = stVertexPerTriangle * stCompsPerPos,
// Note: If we need to increase this value in the future, it is important
// that the arrays in 'FboItem.hpp', 'Font.hpp', 'Texture.hpp" and 'Fbo.hpp'
// are updated to reflect the change.
/* -- Defines for colour intensity data ---------------------------------- */
// [0]R: The RED intensity of the vertice.
// [1]G: The GREEN intensity of the vertice.
// [2]B: The BLUE intensity of the vertice.
// [3]A: The ALPHA intensity of the vertice.
stCompsPerColour = 4, // Floats used to define colour (RGBA)
stFloatsPerColour = (stVertexPerTriangle * stCompsPerColour),
stFloatsPerColour = stVertexPerTriangle * stCompsPerColour,
/* -- Totals ------------------------------------------------------------- */
stFloatsPerTri = (stFloatsPerCoord + stFloatsPerPos + stFloatsPerColour),
stFloatsPerQuad = (stFloatsPerTri * stTrisPerQuad),
stFloatsPerTri = stFloatsPerCoord + stFloatsPerPos + stFloatsPerColour,
stFloatsPerQuad = stFloatsPerTri * stTrisPerQuad,
/* -- OpenGL buffer structure -------------------------------------------- */
stFloatsPerVertex = (stCompsPerCoord + stCompsPerPos + stCompsPerColour),
stBytesPerVertex = (sizeof(GLfloat) * stFloatsPerVertex),
stSizeOfGLfloat = sizeof(GLfloat),
stFloatsPerVertex = stCompsPerCoord + stCompsPerPos + stCompsPerColour,
stBytesPerVertex = stFloatsPerVertex * stSizeOfGLfloat,
stOffsetTxcData = 0,
stOffsetPosData = (sizeof(GLfloat) * stCompsPerCoord),
stOffsetColData = (sizeof(GLfloat) * (stCompsPerCoord + stCompsPerPos));
stOffsetPosData = stCompsPerCoord * stSizeOfGLfloat,
stOffsetColData = (stCompsPerCoord + stCompsPerPos) * stSizeOfGLfloat;
/* -- Render command item -------------------------------------------------- */
struct FboCmd // Render command structure
{ /* ----------------------------------------------------------------------- */
const GLuint uiTUId; // - Texture unit id
const GLuint uiTexId; // - Texture id
const GLuint uiPrgId; // - Shader program id
const GLvoid*const vpTCOffset; // - Texcoord buffer offset
const GLvoid*const vpVOffset; // - vector buffer offset
const GLvoid*const vpCOffset; // - Colour buffer offset
const GLuint uiTUId, // - Texture unit id
uiTexId, // - Texture id
uiPrgId; // - Shader program id
const GLvoid*const vpTCOffset, // - Texcoord buffer offset
*const vpVOffset, // - vector buffer offset
*const vpCOffset; // - Colour buffer offset
const GLsizei uiVertices; // Total vertices to draw
};/* -- Commands ----------------------------------------------------------- */
typedef vector<FboCmd> FboCmdVec; // Render command list
Expand Down
84 changes: 43 additions & 41 deletions src/fboitem.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,14 @@ class FboItem
const GLfloat fX2, const GLfloat fY2)
{ // Update the first triangle of the quad
TriPosData &tdT1 = FboItemGetVDataT1();
tdT1[0] = fX1; tdT1[1] = fY1; tdT1[2] = fX2; // Triangle 1
tdT1[3] = fY1; tdT1[4] = fX1; tdT1[5] = fY2; // "
tdT1[0] = fX1; tdT1[1] = fY1; // Triangle 1 / Vertice 1 (XY) V1 V2
tdT1[2] = fX2; tdT1[3] = fY1; // " / " 2 (XY) |XX/
tdT1[4] = fX1; tdT1[5] = fY2; // " / " 3 (XY) V3
// Update the second triangle of the quad
TriPosData &tdT2 = FboItemGetVDataT2();
tdT2[0] = fX2; tdT2[1] = fY2; tdT2[2] = fX1; // Triangle 2
tdT2[3] = fY2; tdT2[4] = fX2; tdT2[5] = fY1; // "
tdT2[0] = fX2; tdT2[1] = fY2; // Triangle 2 / Vertice 1 (XY) V3
tdT2[2] = fX1; tdT2[3] = fY2; // " / " 2 (XY) /XX|
tdT2[4] = fX2; tdT2[5] = fY1; // " / " 3 (XY) V2 V1
}
/* -- Set vertex co-ordinates and dimensions ----------------------------- */
void FboItemSetVertexWH(const GLfloat fX, const GLfloat fY, const GLfloat fW,
Expand All @@ -86,47 +88,49 @@ class FboItem
const GLfloat fX2, const GLfloat fY2, const GLfloat fML, const GLfloat fMR)
{ // Modify vertex based on horizotal scale normal (left edge)
TriPosData &tdT1 = FboItemGetVDataT1();
tdT1[0] = fX2-((fX2-fX1)*fML); tdT1[1] = fY1; // Triangle 1
tdT1[2] = tdT1[0]+((fX2-tdT1[0])*fMR); tdT1[3] = fY1; // V0 V1
tdT1[4] = tdT1[0]; tdT1[5] = fY2; // V2 /
tdT1[0] = fX2-((fX2-fX1)*fML); tdT1[1] = fY1; // T1 / V1 V1 V2
tdT1[2] = tdT1[0]+((fX2-tdT1[0])*fMR); tdT1[3] = fY1; // T1 / V2 |XX/
tdT1[4] = tdT1[0]; tdT1[5] = fY2; // T1 / V3 V3
// Modify vertex based on horizotal scale normal (right edge)
TriPosData &tdT2 = FboItemGetVDataT2();
tdT2[0] = fX1-((fX1-fX2)*fMR); tdT2[1] = fY2; // Triangle 2
tdT2[2] = tdT2[0]+((fX1-tdT2[0])*fML); tdT2[3] = fY2; // / V2
tdT2[4] = tdT2[0]; tdT2[5] = fY1; // V1 V0
tdT2[0] = fX1-((fX1-fX2)*fMR); tdT2[1] = fY2; // T2 / V1 V3
tdT2[2] = tdT2[0]+((fX1-tdT2[0])*fML); tdT2[3] = fY2; // T2 / V2 /XX|
tdT2[4] = tdT2[0]; tdT2[5] = fY1; // T2 / V3 V2 V1
}
/* -- Set vertex bounds with modified left and right bounds and get ------ */
const QuadPosData &FboItemSetAndGetVertex(const GLfloat fX1,
const GLfloat fY1, const GLfloat fX2, const GLfloat fY2,
const GLfloat fML, const GLfloat fMR)
{ FboItemSetVertex(fX1, fY1, fX2, fY2, fML, fMR);
return FboItemGetVData(); }
const GLfloat fY1, const GLfloat fX2, const GLfloat fY2, const GLfloat fML,
const GLfloat fMR)
{ FboItemSetVertex(fX1, fY1, fX2, fY2, fML, fMR);
return FboItemGetVData(); }
/* -- Set vertex bounds with angle --------------------------------------- */
void FboItemSetVertex(const GLfloat fX1, const GLfloat fY1,
const GLfloat fX2, const GLfloat fY2, const GLfloat fA)
{ // UtilDenormalise the angle to radians (M_PI)
{ // UtilDenormalise the angle to radians (M_PI)
const GLfloat fAR = fA * 2.0f * 3.141592653589793238462643383279502884f,
// Calculate centre
fXC = (fX2-fX1)/2, fYC = (fY2-fY1)/2,
// Rotate vertices
fC1 = atan2f(-fYC,fXC)+fAR, fC2 = atan2f(-fYC,-fXC)+fAR,
fC3 = atan2f( fYC,fXC)+fAR, fC4 = atan2f( fYC,-fXC)+fAR,
fC5 = sqrtf(-fYC*-fYC+fXC*fXC), fC6 = sqrtf(-fYC*-fYC+-fXC*-fXC),
fC7 = sqrtf( fYC* fYC+fXC*fXC), fC8 = sqrtf( fYC* fYC+-fXC*-fXC),
fXCs = fXC*fXC, fXCsN = -fXC*-fXC,
fYCs = fYC*fYC, fYCsN = -fYC*-fYC,
fC5 = sqrtf(fYCsN+fXCs), fC6 = sqrtf(fYCsN+fXCsN),
fC7 = sqrtf(fYCs+fXCs), fC8 = sqrtf(fYCs+fXCsN),
fCa = cosf(fC2)*fC5, fCb = sinf(fC2)*fC5,
fCc = cosf(fC1)*fC6, fCd = sinf(fC1)*fC6,
fCe = cosf(fC4)*fC7, fCf = sinf(fC4)*fC7,
fCg = cosf(fC3)*fC8, fCh = sinf(fC3)*fC8;
// Update the first triangle of the quad
TriPosData &tdT1 = FboItemGetVDataT1();
tdT1[0] = fX1+fCa; tdT1[1] = fY1+fCb; // Vertex 1 / Triangle 1
tdT1[2] = fX1+fCc; tdT1[3] = fY1+fCd; // " 2 / " 1
tdT1[4] = fX1+fCe; tdT1[5] = fY1+fCf; // " 3 / " 1
tdT1[0] = fX1+fCa; tdT1[1] = fY1+fCb; // Vertex 1 / Triangle 1 (XY) V1 V2
tdT1[2] = fX1+fCc; tdT1[3] = fY1+fCd; // " 2 / " 1 (XY) |XX/
tdT1[4] = fX1+fCe; tdT1[5] = fY1+fCf; // " 3 / " 1 (XY) V3
// Update the second triangle of the quad
TriPosData &tdT2 = FboItemGetVDataT2();
tdT2[0] = fX1+fCg; tdT2[1] = fY1+fCh; // Vertex 1 / Triangle 2
tdT2[2] = fX1+fCe; tdT2[3] = fY1+fCf; // " 2 / " 2
tdT2[4] = fX1+fCc; tdT2[5] = fY1+fCd; // " 3 / " 2
tdT2[0] = fX1+fCg; tdT2[1] = fY1+fCh; // Vertex 1 / Triangle 2 (XY) V3
tdT2[2] = fX1+fCe; tdT2[3] = fY1+fCf; // " 2 / " 2 (XY) /XX|
tdT2[4] = fX1+fCc; tdT2[5] = fY1+fCd; // " 3 / " 2 (XY) V2 V1
}
/* -- Set vertex with coords, dimensions and angle ----------------------- */
void FboItemSetVertexWH(const GLfloat fX, const GLfloat fY, const GLfloat fW,
Expand Down Expand Up @@ -160,15 +164,15 @@ class FboItem
{ // Update tex coords for triangle 1
const TriCoordData &tdTS1 = fTC[0]; // Source
TriCoordData &tdTD1 = FboItemGetTCDataT1(); // Destination
tdTD1[0] = tdTS1[2]-((tdTS1[2]-tdTS1[0])*fML); tdTD1[1] = tdTS1[1];
tdTD1[2] = tdTD1[0]+((tdTS1[2]-tdTD1[0])*fMR); tdTD1[3] = tdTS1[3];
tdTD1[4] = tdTD1[0]; tdTD1[5] = tdTS1[5];
tdTD1[0] = tdTS1[2]-((tdTS1[2]-tdTS1[0])*fML); tdTD1[1] = tdTS1[1]; // V1V2
tdTD1[2] = tdTD1[0]+((tdTS1[2]-tdTD1[0])*fMR); tdTD1[3] = tdTS1[3]; // V3V1
tdTD1[4] = tdTD1[0]; tdTD1[5] = tdTS1[5]; // V2V3
// Update tex coords for triangle 2
const TriCoordData &tdTS2 = fTC[1]; // Source
TriCoordData &tdTD2 = FboItemGetTCDataT2(); // Destination
tdTD2[0] = tdTS2[2]-((tdTS2[2]-tdTS2[0])*fMR); tdTD2[1] = tdTS2[1];
tdTD2[2] = tdTD2[0]+((tdTS2[2]-tdTD2[0])*fML); tdTD2[3] = tdTS2[3];
tdTD2[4] = tdTD2[0]; tdTD2[5] = tdTS2[5];
tdTD2[0] = tdTS2[2]-((tdTS2[2]-tdTS2[0])*fMR); tdTD2[1] = tdTS2[1]; // V1V2
tdTD2[2] = tdTD2[0]+((tdTS2[2]-tdTD2[0])*fML); tdTD2[3] = tdTS2[3]; // V3V1
tdTD2[4] = tdTD2[0]; tdTD2[5] = tdTS2[5]; // V2V3
}
/* -- Set vertex bounds and return it ------------------------------------ */
const QuadCoordData &FboItemSetAndGetCoord(const QuadCoordData &fTC,
Expand Down Expand Up @@ -202,25 +206,23 @@ class FboItem
/* -- Get defaults as lookup table --------------------------------------- */
const Quad &FboItemGetDefaultLookup(void) const
{ // This is equal to the following calls. It's just easier to memcpy the
// whole table across then doing pointless calculation. Remember that the
// Z is not being used so that co-ordinate is ignored and assumed zero.
// whole table across then doing pointless calculation.
// - SetTexCoord(0, 0, 1, 1);
// - SetVertex(-1, 1, 1, -1);
// - SetRGBA(1, 1, 1, 1);
static const Quad qData{{
// QuadCoordData qdCoord (render the entire texture on the triangles)
0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, // Triangle 1/2 (Vertice 1, 2 and 3)
1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, // " 2/2 (X,Y, X,Y X,Y)
0.0f, 0.0f, 1.0f, 0.0f, // (T1V1,T1V2)[X+Y] V1 V2 V3
0.0f, 1.0f, 1.0f, 1.0f, // (T1V3,T2V1)[X+Y] T1 -> |XX/ /XX| <- T2
0.0f, 1.0f, 1.0f, 0.0f, // (T2V2,T2V3)[X+Y] V3 V2 V1
// QuadPosData qdPos (render the two triangles full-screen)
-1.0f, 1.0f, 1.0f, 1.0f,-1.0f,-1.0f, // Triangle 1/2 (Vertice 1, 2 and 3)
1.0f,-1.0f,-1.0f,-1.0f, 1.0f, 1.0f, // " 2/2 (X,Y, X,Y X,Y)
-1.0f, 1.0f, 1.0f, 1.0f, // (T1V1,T1V2)[X+Y] V1 V2 V3
-1.0f,-1.0f, 1.0f,-1.0f, // (T1V3,T2V1)[X+Y] T1 -> |XX/ /XX| <- T2
-1.0f,-1.0f, 1.0f, 1.0f, // (T2V2,T2V3)[X+Y] V3 V2 V1
// QuadColData qdColour (all solid white intensity with no alpha)
1.0f, 1.0f, 1.0f, 1.0f, // Triangle 1/2 (R,G,B,A, Vertice 1/3)
1.0f, 1.0f, 1.0f, 1.0f, // " ( " " 2/3)
1.0f, 1.0f, 1.0f, 1.0f, // " ( " " 3/3)
1.0f, 1.0f, 1.0f, 1.0f, // Triangle 2/2 (R,G,B,A, Vertice 1/3)
1.0f, 1.0f, 1.0f, 1.0f, // " ( " " 2/3)
1.0f, 1.0f, 1.0f, 1.0f // " ( " " 3/3)
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, // (T1V1,T1V2)[R+G+B+A]
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, // (T1V3,T2V1)[R+G+B+A]
1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f // (T2V2,T2V3)[R+G+B+A]
}}; // Return the lookup table
return qData;
}
Expand Down
10 changes: 5 additions & 5 deletions src/fontglph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,12 +192,12 @@ void GlyphToTexture(const IntPackRect &iprRef, const FT_Bitmap &ftbRef,
fBW = DimGetWidth<GLfloat>(),
fBH = DimGetHeight<GLfloat>();
// Get reference to first and second triangles
TriPosData &tdT1 = cdRef[0], &tdT2 = cdRef[1];
TriCoordData &tcT1 = cdRef[0], &tcT2 = cdRef[1];
// Push opengl tile coords (keep .fW/.fH to zero which is already zero)
tdT1[0] = tdT1[4] = tdT2[2] = fMinX / fBW; // Left
tdT1[1] = tdT1[3] = tdT2[5] = fMinY / fBH; // Top
tdT1[2] = tdT2[0] = tdT2[4] = fMaxX / fBW; // Right
tdT1[5] = tdT2[1] = tdT2[3] = fMaxY / fBH; // Bottom
tcT1[0] = tcT1[4] = tcT2[2] = fMinX / fBW; // Left
tcT1[1] = tcT1[3] = tcT2[5] = fMinY / fBH; // Top
tcT1[2] = tcT2[0] = tcT2[4] = fMaxX / fBW; // Right
tcT1[5] = tcT2[1] = tcT2[3] = fMaxY / fBH; // Bottom
}
/* -- Do load character function ------------------------------------------- */
template<class StrokerFuncType>
Expand Down
4 changes: 2 additions & 2 deletions src/luautil.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -980,8 +980,8 @@ template<typename ListType>
// Id number for array index
lua_Integer iIndex = 0;
// For each table item
for(const string &vItem : ltData)
LuaUtilSetTableIdxStr(lS, -3, ++iIndex, vItem);
for(const string &strItem : ltData)
LuaUtilSetTableIdxStr(lS, -3, ++iIndex, strItem);
}
/* -- Explode LUA string into table ---------------------------------------- */
static void LuaUtilExplode(lua_State*const lS)
Expand Down
10 changes: 5 additions & 5 deletions src/msengine.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
#define VER_AUTHOR "MS-Design" // Author of engine
#define VER_MAJOR 24 // Version major (year)
#define VER_MINOR 9 // Version minor (month)
#define VER_BUILD 10 // Version build (day)
#define VER_REV 101 // Version rev (build#)
#define VER_STR_NQ 24,9,10,101 // Version as literal
#define VER_STR "24.9.10.101" // Version as string
#define VER_DATE "Tue Sep 10 22:51:18 2024 +0100" // Compilation date
#define VER_BUILD 12 // Version build (day)
#define VER_REV 1 // Version rev (build#)
#define VER_STR_NQ 24,9,12,1 // Version as literal
#define VER_STR "24.9.12.1" // Version as string
#define VER_DATE "Thu Sep 12 00:17:37 2024 +0100" // Compilation date
/* == EoF =========================================================== EoF == */
17 changes: 9 additions & 8 deletions src/palette.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,16 @@ class Pal : // Members initially public
void ShiftBck(const ssize_t stBegin, const ssize_t stEnd,
const ssize_t stRot)
{ // Get starting position and rotate backwards
const PalDataRevIt itStart{ rbegin() + (SizeM1() - stEnd) };
StdRotate(seq, itStart, itStart + stRot, rbegin() + (Size() - stBegin));
const PalDataRevIt pdriStart{ rbegin() + (SizeM1() - stEnd) };
StdRotate(seq, pdriStart, pdriStart + stRot,
rbegin() + (Size() - stBegin));
}
/* -- Shift limited palette entries forwards ----------------------------- */
void ShiftFwd(const ssize_t stBegin, const ssize_t stEnd,
const ssize_t stRot)
{ // Get starting position and rotate forwards
const PalDataIt itStart{ begin() + stBegin };
StdRotate(seq, itStart, itStart + stRot, begin() + stEnd + 1);
const PalDataIt pdiStart{ begin() + stBegin };
StdRotate(seq, pdiStart, pdiStart + stRot, begin() + stEnd + 1);
}
/* -- Shift palette entries backwards or forwards ------------------------ */
void Shift(const ssize_t stBegin, const ssize_t stLimit,
Expand All @@ -115,16 +116,16 @@ class Pal : // Members initially public
void Copy(const size_t stDstPos, const PalData &pdSrc, const size_t stSrcPos,
const size_t stSrcCount)
{ // Get source data position and then copy it to output
const PalDataConstIt itBegin{ pdSrc.cbegin() + stSrcPos };
StdCopy(par_unseq, itBegin, itBegin + stSrcCount, begin() + stDstPos);
const PalDataConstIt pdciIt{ pdSrc.cbegin() + stSrcPos };
StdCopy(par_unseq, pdciIt, pdciIt + stSrcCount, begin() + stDstPos);
}
/* -- Fill with specified value ------------------------------------------ */
void Fill(const size_t stIndex, const size_t stCount,
const GLfloat fRed=0.0f, const GLfloat fGreen=0.0f,
const GLfloat fBlue=0.0f, const GLfloat fAlpha=0.0f)
{ // Get start and fill in the array
const PalDataIt itStart{ begin() + stIndex };
StdFill(par_unseq, itStart, itStart + stCount,
const PalDataIt pdiStart{ begin() + stIndex };
StdFill(par_unseq, pdiStart, pdiStart + stCount,
FboColour{ fRed, fGreen, fBlue, fAlpha }); }
/* ----------------------------------------------------------------------- */
Pal(void) : // No parameters
Expand Down
Loading

0 comments on commit dff0c86

Please sign in to comment.