Normalized docstrings
This commit is contained in:
parent
4347d7f454
commit
0e6dca30fc
34 changed files with 126 additions and 120 deletions
|
@ -8,8 +8,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace basics {
|
namespace basics {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Fractal noise generator, based on a sum of simple noise functions.
|
* Fractal noise generator, based on a sum of simple noise functions.
|
||||||
*/
|
*/
|
||||||
class BASICSSHARED_EXPORT FractalNoise {
|
class BASICSSHARED_EXPORT FractalNoise {
|
||||||
public:
|
public:
|
||||||
|
@ -39,6 +39,11 @@ class BASICSSHARED_EXPORT FractalNoise {
|
||||||
|
|
||||||
virtual double getBase1d(double x) const;
|
virtual double getBase1d(double x) const;
|
||||||
virtual double getBase2d(double x, double y) const;
|
virtual double getBase2d(double x, double y) const;
|
||||||
|
/**
|
||||||
|
* Base 3d noise function, returning (as much as possible) a value in the [0.5, 0.5] range.
|
||||||
|
*
|
||||||
|
* Other dimension noise (1d and 2d) can be provided, or this one will be used to simulate them.
|
||||||
|
*/
|
||||||
virtual double getBase3d(double x, double y, double z) const = 0;
|
virtual double getBase3d(double x, double y, double z) const = 0;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace basics {
|
namespace basics {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* Fractal noise state, that can be saved to a file.
|
* Fractal noise state, that can be saved to a file.
|
||||||
*
|
*
|
||||||
* This state contains the noise offsets for noise layers.
|
* This state contains the noise offsets for noise layers.
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace definition {
|
||||||
typedef DefinitionNode *(*LayerConstructor)(Layers *parent, const string &name);
|
typedef DefinitionNode *(*LayerConstructor)(Layers *parent, const string &name);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Layers of definitions, ideally all of the same type.
|
* Layers of definitions, ideally all of the same type.
|
||||||
*/
|
*/
|
||||||
class DEFINITIONSHARED_EXPORT Layers : public DefinitionNode {
|
class DEFINITIONSHARED_EXPORT Layers : public DefinitionNode {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace paysages {
|
||||||
namespace definition {
|
namespace definition {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Global scenery management
|
* Global scenery management
|
||||||
*
|
*
|
||||||
* This class contains the whole scenery definition.
|
* This class contains the whole scenery definition.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -10,8 +10,8 @@ class QImage;
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace opengl {
|
namespace opengl {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief OpenGL variable that can be bound to a uniform for shaders.
|
* OpenGL variable that can be bound to a uniform for shaders.
|
||||||
*/
|
*/
|
||||||
class OpenGLVariable final {
|
class OpenGLVariable final {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Graphics area to draw and do compositing.
|
* Graphics area to draw and do compositing.
|
||||||
*
|
*
|
||||||
* Software rendering is done in portions of Canvas (in CanvasPortion class).
|
* Software rendering is done in portions of Canvas (in CanvasPortion class).
|
||||||
* This splitting in portions allows to keep memory consumption low.
|
* This splitting in portions allows to keep memory consumption low.
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Representation of world coordinates projected in a canvas pixel.
|
* Representation of world coordinates projected in a canvas pixel.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT CanvasFragment {
|
class SOFTWARESHARED_EXPORT CanvasFragment {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Abstract class to receive live modifications from canvas preview.
|
* Abstract class to receive live modifications from canvas preview.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT CanvasLiveClient {
|
class SOFTWARESHARED_EXPORT CanvasLiveClient {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief One pixel of a Canvas.
|
* One pixel of a Canvas.
|
||||||
*
|
*
|
||||||
* A pixel stores superimposed fragments (CanvasFragment), sorted by their distance to camera.
|
* A pixel stores superimposed fragments (CanvasFragment), sorted by their distance to camera.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Parallel worker that can work on canvas portion to resolve pixel colors.
|
* Parallel worker that can work on canvas portion to resolve pixel colors.
|
||||||
*
|
*
|
||||||
* This is used after the rasterization phase to compute pixel colors from the fragments stored in them.
|
* This is used after the rasterization phase to compute pixel colors from the fragments stored in them.
|
||||||
*
|
*
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Smaller preview of a Canvas rendering, that can be watched live.
|
* Smaller preview of a Canvas rendering, that can be watched live.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT CanvasPreview {
|
class SOFTWARESHARED_EXPORT CanvasPreview {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -30,18 +30,19 @@ static inline double _getDistanceToBorder(BaseCloudsModel *model, const Vector3
|
||||||
/**
|
/**
|
||||||
* Go through the cloud layer to find segments (parts of the lookup that are inside the cloud).
|
* Go through the cloud layer to find segments (parts of the lookup that are inside the cloud).
|
||||||
*
|
*
|
||||||
* @param definition The cloud layer
|
* definition - The cloud layer
|
||||||
* @param renderer The renderer environment
|
* renderer - The renderer environment
|
||||||
* @param start Start position of the lookup (already optimized)
|
* start - Start position of the lookup (already optimized)
|
||||||
* @param direction Normalized direction of the lookup
|
* direction - Normalized direction of the lookup
|
||||||
* @param detail Level of noise detail required
|
* detail - Level of noise detail required
|
||||||
* @param max_segments Maximum number of segments to collect
|
* max_segments - Maximum number of segments to collect
|
||||||
* @param max_inside_length Maximum length to spend inside the cloud
|
* max_inside_length - Maximum length to spend inside the cloud
|
||||||
* @param max_total_length Maximum lookup length
|
* max_total_length - Maximum lookup length
|
||||||
* @param inside_length Resulting length inside cloud (sum of all segments length)
|
* inside_length - Resulting length inside cloud (sum of all segments length)
|
||||||
* @param total_length Resulting lookup length
|
* total_length - Resulting lookup length
|
||||||
* @param out_segments Allocated space to fill found segments
|
* out_segments - Allocated space to fill found segments
|
||||||
* @return Number of segments found
|
*
|
||||||
|
* Returns the number of segments found.
|
||||||
*/
|
*/
|
||||||
int CloudBasicLayerRenderer::findSegments(BaseCloudsModel *model, const Vector3 &start, const Vector3 &direction,
|
int CloudBasicLayerRenderer::findSegments(BaseCloudsModel *model, const Vector3 &start, const Vector3 &direction,
|
||||||
int max_segments, double max_inside_length, double max_total_length,
|
int max_segments, double max_inside_length, double max_total_length,
|
||||||
|
|
|
@ -10,8 +10,8 @@ typedef struct CloudSegment CloudSegment;
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Basic cloud layer renderer.
|
* Basic cloud layer renderer.
|
||||||
*
|
*
|
||||||
* This renderer simply iters through the cloud layer, collecting cloud segments.
|
* This renderer simply iters through the cloud layer, collecting cloud segments.
|
||||||
* It does not account for local density variations.
|
* It does not account for local density variations.
|
||||||
|
|
|
@ -10,8 +10,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Software renderer of a group of cloud layers.
|
* Software renderer of a group of cloud layers.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT CloudsRenderer : public LightFilter {
|
class SOFTWARESHARED_EXPORT CloudsRenderer : public LightFilter {
|
||||||
public:
|
public:
|
||||||
|
@ -28,42 +28,42 @@ class SOFTWARESHARED_EXPORT CloudsRenderer : public LightFilter {
|
||||||
*/
|
*/
|
||||||
void setEnabled(bool enabled);
|
void setEnabled(bool enabled);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Update the renderer with the bound scenery.
|
* Update the renderer with the bound scenery.
|
||||||
*
|
*
|
||||||
* Don't call this if another thread is currently using this renderer.
|
* Don't call this if another thread is currently using this renderer.
|
||||||
*/
|
*/
|
||||||
virtual void update();
|
virtual void update();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Get the layer renderer for a given layer.
|
* Get the layer renderer for a given layer.
|
||||||
*
|
*
|
||||||
* The returned renderer is managed by this object and should not be deleted.
|
* The returned renderer is managed by this object and should not be deleted.
|
||||||
*/
|
*/
|
||||||
virtual BaseCloudLayerRenderer *getLayerRenderer(unsigned int layer);
|
virtual BaseCloudLayerRenderer *getLayerRenderer(unsigned int layer);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Get the cloud model for a given layer.
|
* Get the cloud model for a given layer.
|
||||||
*
|
*
|
||||||
* The returned model is managed by this object and should not be deleted.
|
* The returned model is managed by this object and should not be deleted.
|
||||||
*/
|
*/
|
||||||
virtual BaseCloudsModel *getLayerModel(unsigned int layer);
|
virtual BaseCloudsModel *getLayerModel(unsigned int layer);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Override de default density model for a given layer.
|
* Override de default density model for a given layer.
|
||||||
*
|
*
|
||||||
* This must be called after each update().
|
* This must be called after each update().
|
||||||
* Ownership of the model is taken.
|
* Ownership of the model is taken.
|
||||||
*/
|
*/
|
||||||
virtual void setLayerModel(unsigned int layer, BaseCloudsModel *model, bool delete_old = true);
|
virtual void setLayerModel(unsigned int layer, BaseCloudsModel *model, bool delete_old = true);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Get the composited color, as applied on a base color and location.
|
* Get the composited color, as applied on a base color and location.
|
||||||
*/
|
*/
|
||||||
virtual Color getColor(const Vector3 &eye, const Vector3 &location, const Color &base);
|
virtual Color getColor(const Vector3 &eye, const Vector3 &location, const Color &base);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Alter a light, as if passed through all layers.
|
* Alter a light, as if passed through all layers.
|
||||||
*
|
*
|
||||||
* Return true if the light was altered.
|
* Return true if the light was altered.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Interface to a fluid medium compatible class.
|
* Interface to a fluid medium compatible class.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT FluidMediumInterface {
|
class SOFTWARESHARED_EXPORT FluidMediumInterface {
|
||||||
public:
|
public:
|
||||||
/*!
|
/**
|
||||||
* Return true if the object may change the fluid medium on the given segment.
|
* Return true if the object may change the fluid medium on the given segment.
|
||||||
* When returning true, the object may alter 'segment' to limit its influence.
|
* When returning true, the object may alter 'segment' to limit its influence.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -15,8 +15,8 @@ typedef struct {
|
||||||
SpaceSegment segment;
|
SpaceSegment segment;
|
||||||
} FluidMediumSegment;
|
} FluidMediumSegment;
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Global object to interact with fluid medium (air, water, clouds...)
|
* Global object to interact with fluid medium (air, water, clouds...)
|
||||||
*
|
*
|
||||||
* This object handles the traversal of fluid medium and the collecting of
|
* This object handles the traversal of fluid medium and the collecting of
|
||||||
* medium density and properties.
|
* medium density and properties.
|
||||||
|
@ -27,27 +27,25 @@ class SOFTWARESHARED_EXPORT FluidMediumManager {
|
||||||
FluidMediumManager(SoftwareRenderer *renderer);
|
FluidMediumManager(SoftwareRenderer *renderer);
|
||||||
virtual ~FluidMediumManager();
|
virtual ~FluidMediumManager();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Remove all registered medium.
|
* Remove all registered medium.
|
||||||
*/
|
*/
|
||||||
void clearMedia();
|
void clearMedia();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Register a new medium in the manager.
|
* Register a new medium in the manager.
|
||||||
*/
|
*/
|
||||||
void registerMedium(FluidMediumInterface *medium);
|
void registerMedium(FluidMediumInterface *medium);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Apply complete medium traversal
|
* Apply complete medium traversal between *location* and *eye*, to the base *color*.
|
||||||
* \param eye Position of the camera
|
*
|
||||||
* \param location Point we look at
|
* Returns the light received by eye, transformed by medium traversal.
|
||||||
* \param color Light initially received from 'location'
|
|
||||||
* \return Light received by 'eye', transformed by medium traversal
|
|
||||||
*/
|
*/
|
||||||
virtual Color applyTraversal(const Vector3 &eye, const Vector3 &location, const Color &color) const;
|
virtual Color applyTraversal(const Vector3 &eye, const Vector3 &location, const Color &color) const;
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Get the potential media traversed by a ray, unsorted
|
* Get the potential media traversed by a ray, unsorted
|
||||||
*/
|
*/
|
||||||
virtual int getTraversedMedia(FluidMediumSegment segments[], const SpaceSegment &ray, int max_segments) const;
|
virtual int getTraversedMedia(FluidMediumSegment segments[], const SpaceSegment &ray, int max_segments) const;
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief One component of a LightStatus.
|
* One component of a LightStatus.
|
||||||
*
|
*
|
||||||
* A light component represents the amount of light received at a point from a given direction.
|
* A light component represents the amount of light received at a point from a given direction.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,12 +7,12 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Interface for rendering parts that can alter light.
|
* Interface for rendering parts that can alter light.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT LightFilter {
|
class SOFTWARESHARED_EXPORT LightFilter {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Apply filtering on a light component.
|
* Apply filtering on a light component.
|
||||||
*
|
*
|
||||||
* This will alter the component and return if the component is still
|
* This will alter the component and return if the component is still
|
||||||
* useful.
|
* useful.
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Light status at a given point.
|
* Light status at a given point.
|
||||||
*
|
*
|
||||||
* The light status is the combination of all LightComponent received at a given location.
|
* The light status is the combination of all LightComponent received at a given location.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Global lighting manager.
|
* Global lighting manager.
|
||||||
*
|
*
|
||||||
* This manager handles the lights, light filters and final light rendering.
|
* This manager handles the lights, light filters and final light rendering.
|
||||||
*
|
*
|
||||||
|
|
|
@ -8,22 +8,23 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Night sky renderer.
|
* Night sky renderer.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT NightSky : public LightSource {
|
class SOFTWARESHARED_EXPORT NightSky : public LightSource {
|
||||||
public:
|
public:
|
||||||
NightSky(SoftwareRenderer *renderer);
|
NightSky(SoftwareRenderer *renderer);
|
||||||
virtual ~NightSky();
|
virtual ~NightSky();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Update the night sky renderer, when the scenery or parent renderer changed.
|
* Update the night sky renderer, when the scenery or parent renderer changed.
|
||||||
*/
|
*/
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Get the color of the night sky at a given direction.
|
* Get the color of the night sky at a given direction.
|
||||||
* \param altitude Altitude above water level, in coordinate units (not kilometers).
|
*
|
||||||
|
* *altitude* is above water level, in coordinate units (not kilometers).
|
||||||
*/
|
*/
|
||||||
virtual const Color getColor(double altitude, const Vector3 &direction);
|
virtual const Color getColor(double altitude, const Vector3 &direction);
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ typedef struct ScanPoint ScanPoint;
|
||||||
typedef struct RenderScanlines RenderScanlines;
|
typedef struct RenderScanlines RenderScanlines;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Base abstract class for scenery pieces that can be rasterized to polygons.
|
* Base abstract class for scenery pieces that can be rasterized to polygons.
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT Rasterizer {
|
class SOFTWARESHARED_EXPORT Rasterizer {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Software rendering inside a Canvas surface.
|
* Software rendering inside a Canvas surface.
|
||||||
*
|
*
|
||||||
* This class launches the rasterization process into canvas portions and
|
* This class launches the rasterization process into canvas portions and
|
||||||
* redirects post processing to the software renderer.
|
* redirects post processing to the software renderer.
|
||||||
|
@ -70,19 +70,19 @@ class SOFTWARESHARED_EXPORT SoftwareCanvasRenderer : public SoftwareRenderer {
|
||||||
void enablePostprocess(bool enabled);
|
void enablePostprocess(bool enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the rendering size in pixels.
|
* Set the rendering size in pixels.
|
||||||
*
|
*
|
||||||
* Set 'samples' to something bigger than 1 to allow for the multi-sampling of pixels.
|
* Set 'samples' to something bigger than 1 to allow for the multi-sampling of pixels.
|
||||||
*/
|
*/
|
||||||
void setSize(int width, int height, int samples = 1);
|
void setSize(int width, int height, int samples = 1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Start the two-pass render process.
|
* Start the two-pass render process.
|
||||||
*/
|
*/
|
||||||
void render();
|
void render();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Interrupt the render process.
|
* Interrupt the render process.
|
||||||
*/
|
*/
|
||||||
void interrupt();
|
void interrupt();
|
||||||
|
|
||||||
|
@ -100,12 +100,12 @@ class SOFTWARESHARED_EXPORT SoftwareCanvasRenderer : public SoftwareRenderer {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* @brief Rasterize the scenery into a canvas portion.
|
* Rasterize the scenery into a canvas portion.
|
||||||
*/
|
*/
|
||||||
void rasterize(CanvasPortion *portion);
|
void rasterize(CanvasPortion *portion);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Apply pixel shader to fragments stored in the CanvasPortion.
|
* Apply pixel shader to fragments stored in the CanvasPortion.
|
||||||
*/
|
*/
|
||||||
void applyPixelShader(CanvasPortion *portion);
|
void applyPixelShader(CanvasPortion *portion);
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief This class renders a defined scenery in sotware mode (using only standard CPU computations).
|
* This class renders a defined scenery in sotware mode (using only standard CPU computations).
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT SoftwareRenderer {
|
class SOFTWARESHARED_EXPORT SoftwareRenderer {
|
||||||
|
|
||||||
|
@ -25,15 +25,15 @@ class SOFTWARESHARED_EXPORT SoftwareRenderer {
|
||||||
virtual Vector3 projectPoint(const Vector3 &point);
|
virtual Vector3 projectPoint(const Vector3 &point);
|
||||||
virtual Vector3 unprojectPoint(const Vector3 &point);
|
virtual Vector3 unprojectPoint(const Vector3 &point);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Prepare the renderer sub-systems.
|
* Prepare the renderer sub-systems.
|
||||||
*
|
*
|
||||||
* This will clear the caches and connect elements together.
|
* This will clear the caches and connect elements together.
|
||||||
* After this call, don't update the scenery when renderer is in use.
|
* After this call, don't update the scenery when renderer is in use.
|
||||||
*/
|
*/
|
||||||
virtual void prepare();
|
virtual void prepare();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* Set the global quality control factor.
|
* Set the global quality control factor.
|
||||||
*
|
*
|
||||||
* Values between 0.0 and 1.0 are standard quality (1.0 is considered a "very good" production quality value).
|
* Values between 0.0 and 1.0 are standard quality (1.0 is considered a "very good" production quality value).
|
||||||
|
|
|
@ -25,9 +25,9 @@ class SOFTWARESHARED_EXPORT TerrainRasterizer : public Rasterizer {
|
||||||
/**
|
/**
|
||||||
* Set the rasterization quality.
|
* Set the rasterization quality.
|
||||||
*
|
*
|
||||||
* @param base_chunk_size Size of chunks near the camera
|
* base_chunk_size - Size of chunks near the camera
|
||||||
* @param detail_factor Precision factor of a chunk's tessellation, depending on screen coverage
|
* detail_factor - Precision factor of a chunk's tessellation, depending on screen coverage
|
||||||
* @param max_chunk_detail Maximal tessellation of chunks
|
* max_chunk_detail - Maximal tessellation of chunks
|
||||||
*/
|
*/
|
||||||
void setQuality(double base_chunk_size, double detail_factor, int max_chunk_detail);
|
void setQuality(double base_chunk_size, double detail_factor, int max_chunk_detail);
|
||||||
virtual void setQuality(double factor) override;
|
virtual void setQuality(double factor) override;
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Ray walker to find intersections with terrain.
|
* Ray walker to find intersections with terrain.
|
||||||
*
|
*
|
||||||
* This walker can be used to find a hard intersection between
|
* This walker can be used to find a hard intersection between
|
||||||
* a ray and the terrain (e.g. for raytracing), or a soft intersection
|
* a ray and the terrain (e.g. for raytracing), or a soft intersection
|
||||||
|
@ -28,30 +28,31 @@ class SOFTWARESHARED_EXPORT TerrainRayWalker {
|
||||||
/**
|
/**
|
||||||
* Set the walker quality.
|
* Set the walker quality.
|
||||||
*
|
*
|
||||||
* @param displacement_safety Safety factor (around 1.0) to detect when displacement textures need to be applied
|
* displacement_safety - Safety factor (around 1.0) to detect when displacement textures need to be applied
|
||||||
* @param minimal_step Minimal length of a walking step
|
* minimal_step - Minimal length of a walking step
|
||||||
* @param maximal_step Maximal length of a walking step
|
* maximal_step - Maximal length of a walking step
|
||||||
* @param step_factor Precision factor of steps, depending on terrain proximity
|
* step_factor - Precision factor of steps, depending on terrain proximity
|
||||||
* @param max_distance Maximal distance allowed to travel before considering an escape
|
* max_distance - Maximal distance allowed to travel before considering an escape
|
||||||
* @param escape_step Angle step when allowing an escape angle
|
* escape_step - Angle step when allowing an escape angle
|
||||||
*/
|
*/
|
||||||
void setQuality(double displacement_safety, double minimal_step, double maximal_step, double step_factor,
|
void setQuality(double displacement_safety, double minimal_step, double maximal_step, double step_factor,
|
||||||
double max_distance, double escape_step);
|
double max_distance, double escape_step);
|
||||||
void setQuality(double factor);
|
void setQuality(double factor);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Update the walker internal data, from the renderer and scenery.
|
* Update the walker internal data, from the renderer and scenery.
|
||||||
*/
|
*/
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Start the walking process to find intersection
|
* Start the walking process to find intersection
|
||||||
*
|
*
|
||||||
* \param start Point of origin of the ray
|
* start - Point of origin of the ray
|
||||||
* \param direction Ray direction (normalized vector)
|
* direction - Ray direction (normalized vector)
|
||||||
* \param escape_angle Maximal angle allowed to escape the terrain on hit (mainly for shadows computing)
|
* escape_angle - Maximal angle allowed to escape the terrain on hit (mainly for shadows computing)
|
||||||
* \param result Object to store the results info
|
* result - Object to store the results info
|
||||||
* \return true if there was a hit
|
*
|
||||||
|
* Returns true if there was a hit.
|
||||||
*/
|
*/
|
||||||
bool startWalking(const Vector3 &start, Vector3 direction, double escape_angle, TerrainHitResult &result);
|
bool startWalking(const Vector3 &start, Vector3 direction, double escape_angle, TerrainHitResult &result);
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace software {
|
namespace software {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Abstract class for all cloud models (cirrus, cumulus...).
|
* Abstract class for all cloud models (cirrus, cumulus...).
|
||||||
*/
|
*/
|
||||||
class SOFTWARESHARED_EXPORT BaseCloudsModel {
|
class SOFTWARESHARED_EXPORT BaseCloudsModel {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace system {
|
namespace system {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief System mutex
|
* System mutex
|
||||||
*/
|
*/
|
||||||
class SYSTEMSHARED_EXPORT Mutex : private mutex {
|
class SYSTEMSHARED_EXPORT Mutex : private mutex {
|
||||||
public:
|
public:
|
||||||
/*!
|
/**
|
||||||
* \brief Create a new mutex
|
* Create a new mutex
|
||||||
*/
|
*/
|
||||||
Mutex();
|
Mutex();
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace system {
|
namespace system {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Data (de)serialization in files or streams.
|
* Data (de)serialization in files or streams.
|
||||||
*/
|
*/
|
||||||
class SYSTEMSHARED_EXPORT PackStream {
|
class SYSTEMSHARED_EXPORT PackStream {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace system {
|
namespace system {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* Pool to handle a group of threads doing the same task.
|
* Pool to handle a group of threads doing the same task.
|
||||||
*/
|
*/
|
||||||
class SYSTEMSHARED_EXPORT ParallelPool {
|
class SYSTEMSHARED_EXPORT ParallelPool {
|
||||||
|
@ -16,17 +16,17 @@ class SYSTEMSHARED_EXPORT ParallelPool {
|
||||||
ParallelPool();
|
ParallelPool();
|
||||||
virtual ~ParallelPool();
|
virtual ~ParallelPool();
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* Start the effective work.
|
* Start the effective work.
|
||||||
*/
|
*/
|
||||||
void start(int thread_count = -1);
|
void start(int thread_count = -1);
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* Method called from each thread to do actual work.
|
* Method called from each thread to do actual work.
|
||||||
*/
|
*/
|
||||||
virtual void work() = 0;
|
virtual void work() = 0;
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* Method called once to interrupt all threads.
|
* Method called once to interrupt all threads.
|
||||||
*/
|
*/
|
||||||
virtual void interrupt();
|
virtual void interrupt();
|
||||||
|
|
|
@ -43,7 +43,7 @@ class SYSTEMSHARED_EXPORT ParallelWork {
|
||||||
/**
|
/**
|
||||||
* Start working on the units.
|
* Start working on the units.
|
||||||
*
|
*
|
||||||
* @param threads Number of threads to spaws, -1 for an optimal number.
|
* threads - Number of threads to spaws, -1 for an optimal number.
|
||||||
*/
|
*/
|
||||||
int perform(int thread_count = -1);
|
int perform(int thread_count = -1);
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace paysages {
|
||||||
namespace system {
|
namespace system {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Worker that can be used by the ParallelWork object to perform tasks in several threads.
|
* Worker that can be used by the ParallelWork object to perform tasks in several threads.
|
||||||
*/
|
*/
|
||||||
class SYSTEMSHARED_EXPORT ParallelWorker {
|
class SYSTEMSHARED_EXPORT ParallelWorker {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -14,13 +14,13 @@ class SYSTEMSHARED_EXPORT PictureWriter {
|
||||||
virtual ~PictureWriter();
|
virtual ~PictureWriter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Start saving the picture in a file.
|
* Start saving the picture in a file.
|
||||||
*/
|
*/
|
||||||
bool save(const string &filepath, int width, int height);
|
bool save(const string &filepath, int width, int height);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* @brief Get the (x, y) pixel, in BGRA format
|
* Get the (x, y) pixel, in BGRA format
|
||||||
*/
|
*/
|
||||||
virtual unsigned int getPixel(int x, int y) = 0;
|
virtual unsigned int getPixel(int x, int y) = 0;
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
namespace paysages {
|
namespace paysages {
|
||||||
namespace system {
|
namespace system {
|
||||||
|
|
||||||
/*!
|
/**
|
||||||
* \brief Access to system info
|
* Access to system info
|
||||||
*/
|
*/
|
||||||
class SYSTEMSHARED_EXPORT System {
|
class SYSTEMSHARED_EXPORT System {
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in a new issue