Subversion Repository Public Repository

Divide-Framework

This repository has no backups
This repository's network speed is throttled to 100KB/sec

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef _PRE_RenderStage_H_
#define _PRE_RenderStage_H_

#include "core.h"

//PreRenderStage is a class specialized in applying certain shaders and generating FBO results
//
class PreRenderOperator;
class PreRenderStage{
public:
	PreRenderStage(){}
	~PreRenderStage();
	bool addRenderOperator(PreRenderOperator* op) {_operators.push_back(op); return true;}
	void execute();
	void reshape(I32 width, I32 height);

private:
	vectorImpl<PreRenderOperator* >	_operators;
	bool							_isValid;		//True if the filter is valid
};

#endif

Commits for Divide-Framework/trunk/Source Code/Rendering/PostFX/Headers/PreRenderStage.h

Diff revisions: vs.
Revision Author Commited Message
168 Diff Diff k1ngp1n picture k1ngp1n Sat 26 Oct, 2013 19:03:21 +0000

- Reworked the Camera class[[BR]]
— Now fully quaternion based [[BR]]
— Basic camera types added but not used yet (third person, first person, orbit) [[BR]]
- Cleaned up Material and Texture handling [[BR]]
- Added clipping plane support [[BR]]
— Similar to OpenGL fixed-function clip planes but fully shader driven [[BR]]
— Added a new class, “Plane”, that helps define clip planes [[BR]]
- Optimized the Singleton class to allow faster “getInstance” calls without performance penalties [[BR]]
-- “createInstance” must be called for each singleton class before usage. Or “gerOrCreateInstance” can be used, which is basically the former “getInstance” implementation [[BR]]
- Improved console logging by changing some heap allocations to stack and removing dependencies on the std::string class [[BR]]
- Added a lot of performance optimizations related to coding standards and redundant calculations [[BR]]
— e.g. Frustum AABB check didn’t need to recompute the AABB points as they were calculated already [[BR]]
— e.g. A vector did not need to be set to 0 on initialization as that is already it’s default state on creation [[BR]]
— e.g. Faster Framerate and Timing calculations by using less member variables that are not needed outsied of calling functions [[BR]]
- The SceneState now contains the SceneRenderState and is passed on to the SceneGraph’s update calls [[BR]]
- Better material export/import to/from XML format [[BR]]
- More bug fixes and cleanups [[BR]]

146 Diff Diff k1ngp1n picture k1ngp1n Wed 10 Apr, 2013 13:20:15 +0000

[Ionut] [[BR]]
*Final LightBranch updates 2/3 : Main trunk merge and build test (VC90, VC100, gDebugger) [[BR]]
-Merged light branch with trunk [[BR]]
-Deleted light branch [[BR]]

114 Diff Diff k1ngp1n picture k1ngp1n Sat 02 Jun, 2012 13:03:01 +0000

[Ionut][[BR]]
-First steps in moving away from a generalized “ResourceManager”: [[BR]]
--Added templated resource loaders (Core\Resources\ConcreteLoaders). Just add a new loader for a new resource type and it’s ready for use [[BR]]
---Next step involves moving loading responsibility from the resource itself to the resource loader that handles it’s creation [[BR]]
--Renamed the ResourceManager to ResourceCache and limited it’s responsibility from general resource operations to a more standard abstract template factory with cache [[BR]]
---Manager base class is renamed to BaseCache as it’s a wrapper for a cache map in essence [[BR]]
---Next step involves adding a ResourceCache per scene (dropping Singleton status) with the possibility of sharing resources between them (to avoid reloading existing resources for a new scene) [[BR]]
-Translated AITenisScene and PingPongScene source code to english [[BR]]

99 k1ngp1n picture k1ngp1n Fri 10 Feb, 2012 22:17:24 +0000

[ Ionut ] [[BR]]
- Added a PreRenderStage Builder that allows multiple pre-render stages to be added to the pre-render step [[ BR ]]
--A PreRenderStage is composed of a series of PreRender Operators that generate certain PostFX outputs that are used by the PostFX class [[BR]]
--Each PreRenderOperator, similar to a “plugin”, can use any number of input FBO’s, any input shader and render target to generate an effect [[BR]]
--Rendering pipeline has been modified to allow the specification of current render stage [[BR]]
[[BR]]
Added C++<>Shader attribute passing support for shaders[[BR]]
-Added per-pixel fog [[BR]]
-Fixed some typo’s in uniform names [[BR]]
-Optimized shadow generation pipeline [[BR]]
-Added cast/receive shadow options for materials [[BR]]
-FBO’s now clear color and depth buffers when Begin() is called [[BR]]
-Fixed loading of primitives' material properties [[BR]]
-All shaders now use the same shadowmapping techniques [[BR]]
-Quad3D’s can now be modified by specifying a target rect [[BR]]
-Split the “lighting.frag” shader in 3 variants: one that only applies color properties, one with textures and one with bump-mapping [[BR]]
--This reduces fragment shader complexity for the first 2 shaders [[BR]]
--Each material change will now force a shader recalculation for the object [[BR]]
-Renamed sphere’s “size” member to “radius” [[BR]]