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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<geometry>
	<item>Net</item>
	<item>Player1</item>
	<item>Player2</item>
	<item>Player3</item>
	<item>Player4</item>
	<item>cylinder</item>
	<!--<item>Sponza</item>-->
</geometry>

<primitives>
	<item>Floor</item>
</primitives>

<Net>
	<model>models/gardulet.obj</model>
	<scale x="0.3" y="0.7" z="0.1" />
	<position x="0" y="-7.5" z="0" />
	<orientation x="0" y="0" z="0" />
	<version>1.0</version>
	<staticObject>true</staticObject>
	<addToNavigation>true</addToNavigation>
	<useHighNavigationDetail>true</useHighNavigationDetail>
</Net>


<Player1>
	<model>models/dwarf.x</model>
	<scale x="0.03" y="0.03" z="0.03" />
	<position x="3.5" y="0" z="7.5" />
	<orientation x="0" y="180" z="0" />
	<version>1.0</version>
</Player1>

<Player2>
	<model>models/dwarf.x</model>
	<scale x="0.03" y="0.03" z="0.03" />
	<position x="-3.5" y="0" z="7.5" />
	<orientation x="0" y="-180" z="0" />
	<version>1.0</version>
</Player2>

<Player3>
	<scale x="0.03" y="0.03" z="0.03" />
	<position x="3.5" y="0" z="-7.5" />
	<orientation x="0" y="0" z="0" />
	<color r="0.8" g="0.7" b="0.4"/>
	<model>models/dwarf.x</model>
	<version>1.0</version>
</Player3>

<Player4>
	<scale x="0.03" y="0.03" z="0.03" />
	<position x="-3.5" y="0" z="-7.5" />
	<orientation x="0" y="0" z="0" />
	<color r="0.8" g="0.7" b="0.4"/>
	<model>models/dwarf.x</model>
	<version>1.0</version>
</Player4>

<Floor>
	<model>Quad3D</model>
	<scale x="50" y="50" z="50" />
	<position x="-25" y="0" z="-25" />
	<orientation x="0" y="0" z="-90" />
	<color r="0.1" g="0.4" b="0.1"/>
	<version>1.0</version>
	<staticObject>true</staticObject>
	<addToNavigation>true</addToNavigation>
</Floor>

<Sponza>
	<model>models/sponza.obj</model>
	<scale x="0.1" y="0.1" z="0.1" />
	<position x="0" y="0" z="0" />
	<orientation x="-90" y="0" z="0" />
	<version>1.0</version>
	<staticObject>true</staticObject>
	<addToNavigation>true</addToNavigation>
</Sponza>

<cylinder>
	<model>models/cylinder.obj</model>
	<scale x="5" y="5" z="5" />
	<position x="-15" y="0" z="-15" />
	<orientation x="0" y="0" z="0" />
	<version>1.0</version>
	<staticObject>true</staticObject>
	<addToNavigation>true</addToNavigation>
	<useHighNavigationDetail>true</useHighNavigationDetail>
</cylinder>

Commits for Divide-Framework/trunk/XML/Scenes/AITenisScene/assets.xml

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]]

161 Diff Diff k1ngp1n picture k1ngp1n Fri 12 Jul, 2013 19:51:50 +0000

[Ionut] [[BR]]
- Solved Navigation Mesh creation from Object3D nodes [[BR]]

159 Diff Diff k1ngp1n picture k1ngp1n Tue 09 Jul, 2013 16:47:05 +0000

[Ionut] [[BR]]
- Added NavMesh config file for AITenisScene [[BR]]
- Improved ReCast debug logging [[BR]]
- Fixed Triangle Strip to Triangle List conversion [[BR]]
- Made Quad3D double-sided

154 Diff Diff k1ngp1n picture k1ngp1n Sun 23 Jun, 2013 23:39:07 +0000

[Ionut] [[BR]]
- Changed math computation for: Matrix multiplication, Normal and Tangent calculation, Quaternion to Matrix conversion and more [[BR]]
- Removed useless UBO classes and extended the functionality of the base UBO class [[BR]]
- Changed lighting shaders to be more streamlined [[BR]]
- Added full shader based fog [[BR]]
— Added per-scene optional fog settings [[BR]]
- Re-enabled sorting by shader program for Mesh Delegate Bin (was set to Front to Back for debugging purposes and forgotten there) [[BR]]

152 Diff Diff k1ngp1n picture k1ngp1n Thu 20 Jun, 2013 14:23:31 +0000

[Ionut] [[BR]]
- New rendering pipeline (experimental and unstable): [[BR]]
— OpenGL 3.x clean context (glLight commands are still used for now, but UBO support is there, but not used yet) [[BR]]
— Custom matrix stacks and UBO based shader data (UBOs cause some link errors on some nVidia cards)[[BR]]
— Multi-threaded texture loading and shader compilation (mt shader compilation disabled for now. needs more tests) [[BR]]
— VAO rendering is self contained (no more enable/disable calls before a draw request) [[BR]]
— Render instance class used for rendering information [[BR]]
[[BR]]
- New unique ID generation base class: GUIDWrapper. Each class that derives from this, gets an application wide unique id on construction [[BR]]
- Added base code for an in-game editor using CEGUI [[BR]]
- Replaced some mutex locks with lockless data structures or atomic data [[BR]]
- CEGUI 0.8.2, FTGL-GL3 and GLIM 0.4 modified to support GLEW_MX if defined [[BR]]
- Dropped VS2008 support [[BR]]
- Networking library, server framework and ReCast files are now projects inside the Divide Framework solution [[BR]]
- New console command “setFov” that modifies the horizontal FoV value in realtime [[BR]]
- New console command “recompileShader” that reparses shader files, recompiles shaders and relinks shader programs who’s names match or contain the argument string [[BR]]
- New debug utility: axis angle drawn in corner of the screen if needed [[BR]]
- More ‘const’-s pasted around the code, more loop performance tweaks (allocations before a loop, tighter loops, etc), more utility member functions added to various classes [[BR]]

151 Diff Diff k1ngp1n picture k1ngp1n Tue 07 May, 2013 00:00:52 +0000

[Ionut] [[BR]]
- Better ReCast integration [[BR]]
— Any entity can be used as an obstacle in the NavMesh if that’s specified in each scene’s assets.xml file for said entity [[BR]]
— New console command, “createNavMesh”, that passes geometry data to ReCast [[BR]]
-— NavMesh generation is not yet complete [[BR]]
- Better PhysX integration [[BR]]
— Each scene passes data to and gets data from the Physics API better and safer[[BR]]
- Multi-threaded support extended: [[BR]]
— Event class replaced with Task [[BR]]
— Kernel uses a threadpool for scene tasks [[BR]]
— Each task can be added to a different threadpool if needed [[BR]]
— Most critical sections use the new boost::atomic wrapper for thread safety [[BR]]
- Rendering system updated [[BR]]
— VBO’s keep track of the geometry type internally [[BR]]
— Rendering by specific element list is internal to the VBO [[BR]]
— VBO’s can draw a “lite” version that doesn’t send Tangent, BiTangent and TexCoord data for depth rendering (disabled) [[BR]]
- Reflectors now offer a preview of the generated reflective texture if needed [[BR]]
- Buttons are now added and rendered by CEGUI [[BR]]
[[BR]]
Deprecation: [[BR]]
- Removed fixed pipeline material system [[BR]]
- Removed BoundingBox late update system [[BR]]
- Shadow references in the material system are now depth references [[BR]]
[[BR]]
Bug fixes: [[BR]]
- Problematic FBO double bind check removed [[BR]]
- Faster terrain rendering via chunk size selection through each scene’s terrain.xml[[BR]]
- Rendering is paused when the window is minimized [[BR]]
- CEGUI and impostors now render properly in deferred rendering mode [[BR]]
- Fixed various level 4 (VS2008) warnings [[BR]]
- Better state management and cleaning [[BR]]
- Better SceneGraph node management and trasformation/AABB update calls [[BR]]
- AITenisScene has proper collisions now [[BR]]

118 Diff Diff k1ngp1n picture k1ngp1n Thu 07 Jun, 2012 18:25:10 +0000

[Ionut] [[BR]]
-Decoupled “Scene” and “SceneManager” from “InputManager” [[BR]]
--All input events are routed through the “Kernel” now [[BR]]
--Renamed “InputManager” to “InputInterface” [[BR]]
-Decoupled “Application” class from the rest of the engine except for the “Kernel” and “GUI” (for resize callbacks) [[BR]]
-Added cached resolution values to classes so no queries to “Application” are needed anymore [[BR]]
-Added a missing option from “config.xml” to enable or disable animations [[BR]]
Forgot to commit changed scene xml’s after the romanian>english translation [[BR]]
-All window dimension references are renamed to resolution and all variables related to it are now U16’s as floats are irrelevant (what’s a half pixel? for examle) [[BR]]
-GUI resize callback is now called from “GFXDevice” instead of “GLWrapper” (will be moved to “Kernel” soon together with the “PostFX” resize callback) [[BR]]

109 Diff Diff k1ngp1n picture k1ngp1n Wed 25 Apr, 2012 09:52:52 +0000

[Ionut] [[BR]]
-Added a WarScene prototype that represents the foundation for my MSc thesis [[BR]]

--Features planned for this scene (ToDo list): [[BR]]
---Advanced AI (pathfinding, decision making, team based coordination)[[BR]]
---Weapons, projectiles, particles [[BR]]
---Animations [[BR]]
---Performance increases [[BR]]

104 Diff Diff k1ngp1n picture k1ngp1n Tue 13 Mar, 2012 19:33:49 +0000

[Ionut] [[BR]]
-Added base classes for the game logic part of the framework (just the backbone. main logic will be added iteratively): [[BR]]
--Unit class and it’s derived classes: Character [with derived: Player, NPC] and Vehicle [[BR]]
--Particle system: ParticleEmitter and Particle (with ParticleEmitterDescriptor and ParticleDescriptor) [[BR]]
--Triggers (launches an event when a unit is in range of it’s influence sphere) [[BR]]
--Weapon System: Weapon class, Projectile class and Ammunition class [[BR]]
[[BR]]
Improvements: [[BR]]
-Added more defines and template inline functions to help with various operations (integer bit conversion, XYZ to XZY coordinate conversion etc) [[BR]]
-Removed LightImpostor class and added a global Impostor class now used by lights, triggers and particle emitters [[BR]]
[[BR]]
Bug fixes: [[BR]]
-Removed some (weird) characters added by accident from terrain shader [[BR]]
-Use sqrtf for Floats and sqrt for Doubles[[BR]]

101 k1ngp1n picture k1ngp1n Wed 07 Mar, 2012 13:56:56 +0000

[Ionut] [[BR]]
-Added GLSL effect-like file support using GLSW [http://prideout.net/blog/?p=11] [[BR]]
-Added GLSL “#include” support. Now shader functions can be define in separate frag/vert files as atoms and included in the glsl effect file [[BR]]
-Added more DoxyGen-comments[[BR]]