Tune the parameters
This commit is contained in:
parent
98efa53671
commit
6b0f5e86fb
2 changed files with 18 additions and 7 deletions
15
demo2.cpp
15
demo2.cpp
|
@ -22,9 +22,8 @@
|
||||||
|
|
||||||
//#define RENDER_COMPLEX
|
//#define RENDER_COMPLEX
|
||||||
/* ^ Turns on rendering using a more precise but slower algorithm. This can
|
/* ^ Turns on rendering using a more precise but slower algorithm. This can
|
||||||
be seen at less shaky head bobbing when moving. However the latter
|
be seen at less shaky head bobbing when moving. However it doesn't
|
||||||
algorithm doesn't support some features (rooling doors, floor textures,
|
support many other features, so the result actually looks worse. */
|
||||||
...). */
|
|
||||||
|
|
||||||
//#define NO_TEXTURES
|
//#define NO_TEXTURES
|
||||||
/* ^ Turns off textures and only uses colors, which increases FPS. */
|
/* ^ Turns off textures and only uses colors, which increases FPS. */
|
||||||
|
@ -927,7 +926,7 @@ int16_t intensity = 0;
|
||||||
if (pixel->isFloor)
|
if (pixel->isFloor)
|
||||||
{
|
{
|
||||||
if (pixel->texCoords.y > 3 * RCL_UNITS_PER_SQUARE) // leave astrip of untextured floor
|
if (pixel->texCoords.y > 3 * RCL_UNITS_PER_SQUARE) // leave astrip of untextured floor
|
||||||
color = pixel->depth > RCL_UNITS_PER_SQUARE * 5 ?
|
color = pixel->depth > (RCL_UNITS_PER_SQUARE * 6 + RCL_UNITS_PER_SQUARE / 2) ?
|
||||||
textureAverageColors[1] :
|
textureAverageColors[1] :
|
||||||
sampleImage(textures[1],pixel->texCoords.x / FLOOR_TEXTURE_SCALE,pixel->texCoords.y / FLOOR_TEXTURE_SCALE);
|
sampleImage(textures[1],pixel->texCoords.x / FLOOR_TEXTURE_SCALE,pixel->texCoords.y / FLOOR_TEXTURE_SCALE);
|
||||||
else
|
else
|
||||||
|
@ -953,9 +952,9 @@ int16_t intensity = 0;
|
||||||
|
|
||||||
#ifndef NO_MIRROR
|
#ifndef NO_MIRROR
|
||||||
intensity = pixel->isFloor ?
|
intensity = pixel->isFloor ?
|
||||||
-1 * (pixel->depth - mirror * 128) / RCL_UNITS_PER_SQUARE : 0;
|
2 - (pixel->depth - mirror * 128) / RCL_UNITS_PER_SQUARE : 0;
|
||||||
#else
|
#else
|
||||||
intensity = -1 * pixel->depth / (RCL_UNITS_PER_SQUARE * 2);
|
intensity = 2 - pixel->depth / (RCL_UNITS_PER_SQUARE * 2);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
color = addIntensity(color,intensity);
|
color = addIntensity(color,intensity);
|
||||||
|
@ -1065,7 +1064,9 @@ int main()
|
||||||
cFloor = rgbToIndex(3,3,2);
|
cFloor = rgbToIndex(3,3,2);
|
||||||
cCeiling = rgbToIndex(3,2,0);
|
cCeiling = rgbToIndex(3,2,0);
|
||||||
|
|
||||||
player.setPositionSquare(6,5);
|
player.setPositionSquare(9,1);
|
||||||
|
//player.mCamera.position.y -= RCL_UNITS_PER_SQUARE / 2;
|
||||||
|
//player.mCamera.direction = -50;
|
||||||
player.mCamera.height = RCL_CAMERA_COLL_HEIGHT_BELOW;
|
player.mCamera.height = RCL_CAMERA_COLL_HEIGHT_BELOW;
|
||||||
|
|
||||||
player.mCamera.resolution.y = RESOLUTION_Y;
|
player.mCamera.resolution.y = RESOLUTION_Y;
|
||||||
|
|
10
general.hpp
10
general.hpp
|
@ -174,6 +174,16 @@ inline uint8_t addRGB(uint8_t color, int16_t red, int16_t green, int16_t blue)
|
||||||
return rgbToIndex(r,g,b);
|
return rgbToIndex(r,g,b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Inits a color gradient from darkest (0, -7 intensity) to brightest
|
||||||
|
(14, +7 intensity). Index 7 will have the base color.
|
||||||
|
*/
|
||||||
|
void initGradient(unsigned char dest[15], unsigned char baseColor)
|
||||||
|
{
|
||||||
|
for (int8_t i = 0; i < 15; ++i)
|
||||||
|
dest[i] = addIntensity(baseColor, i - 7);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Samples an image by normalized coordinates - each coordinate is in range
|
Samples an image by normalized coordinates - each coordinate is in range
|
||||||
0 to RCL_UNITS_PER_SQUARE (from raycastlib).
|
0 to RCL_UNITS_PER_SQUARE (from raycastlib).
|
||||||
|
|
Loading…
Reference in a new issue