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
/*
   Copyright (c) 2015 DIVIDE-Studio
   Copyright (c) 2009 Ionut Cava

   This file is part of DIVIDE Framework.

   Permission is hereby granted, free of charge, to any person obtaining a copy
   of this software
   and associated documentation files (the "Software"), to deal in the Software
   without restriction,
   including without limitation the rights to use, copy, modify, merge, publish,
   distribute, sublicense,
   and/or sell copies of the Software, and to permit persons to whom the
   Software is furnished to do so,
   subject to the following conditions:

   The above copyright notice and this permission notice shall be included in
   all copies or substantial portions of the Software.

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED,
   INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
   PARTICULAR PURPOSE AND NONINFRINGEMENT.
   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
   DAMAGES OR OTHER LIABILITY,
   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
   IN CONNECTION WITH THE SOFTWARE
   OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 */

#ifndef _PARTICLE_BOX_GENERATOR_H_
#define _PARTICLE_BOX_GENERATOR_H_

#include "Dynamics/Entities/Particles/Headers/ParticleGenerator.h"

namespace Divide {
class ParticleBoxGenerator final : public ParticleGenerator {
   public:
    ParticleBoxGenerator() {}

    void generate(vectorImpl<std::future<void>>& packagedTasks,
                  const U64 deltaTime,
                  ParticleData& p,
                  U32 startIndex,
                  U32 endIndex) override;

    inline void pos(const vec4<F32>& pos) {
        _pos.set(pos);
        _posMin.set(_pos.xyz() - _maxStartPosOffset.xyz());
        _posMax.set(_pos.xyz() + _maxStartPosOffset.xyz());
    }

    inline void maxStartPosOffset(const vec4<F32>& maxStartPosOffset) {
        _maxStartPosOffset.set(maxStartPosOffset);
        _posMin.set(_pos.xyz() - _maxStartPosOffset.xyz());
        _posMax.set(_pos.xyz() + _maxStartPosOffset.xyz());
    }

private:
    vec4<F32> _pos;
    vec4<F32> _maxStartPosOffset;
    vec3<F32> _posMin;
    vec3<F32> _posMax;
};
};

#endif

Commits for Divide-Framework/trunk/Source Code/Dynamics/Entities/Particles/ConcreteGenerators/Headers/ParticleBoxGenerator.h

Diff revisions: vs.
Revision Author Commited Message
631 Diff Diff IonutCava picture IonutCava Sun 24 Jan, 2016 20:28:21 +0000

[IonutCava]
- Fix and optimize particle rendering system
- Temporarily disable Z_PRE_PASS system for testing
- Improve thread pool destruction system a bit
- Fix texture loading when used as fb attachment
- Forward+ renderer now takes the entire light buffer (no need to split up by light type)
- Start work on occlusion culling fixes:
— ToDo: Take into account batching system
— Fix gl_DrawIDARB usage

541 Diff Diff IonutCava picture IonutCava Thu 29 Oct, 2015 17:03:27 +0000

[IonutCava]
- Initial work on multi-threading the main loop (experimental. unstable):
— Multi-threaded frustum culling
— Multi-threaded particle update system

521 Diff Diff IonutCava picture IonutCava Tue 06 Oct, 2015 16:12:58 +0000

[IonutCava]
- Performance improvements:
— Upload an entire animation’s bone data instead of the current frame’s data and bind the appropriate frame’s transform range.
-— Sacrifices VRAM but reduces the number of RAM->VRAM uploads for animated characters
— Some refactoring in the particle code (emitter, generators, updaters, etc)
- Bugfix:
— Default texture wrap mode to REPEAT instead of CLAMP as ASSIMP seems to be failing at reading texture wrap modes and REPEAT is a safer bet.

353 IonutCava picture IonutCava Tue 17 Feb, 2015 17:08:27 +0000

[Ionut]
- Compatibility updates for Boost 1.57 (some warnings still exist for now)
- Fixed some non-conforming code
- Added ALL OF THE MISSING FILES FROM THE LAST 15 commits ...........