Fastbird Engine Monthly Log 2014. 8.

### August 2014

#### 2014-08-01 Armed modules

* Engine
  * Added memory manager(alloc/dealloc tracker)
  * Clean file watcher
  * removed msvcp100.dll(vs2010) dependencies. - recompile relevant libraries with vs2013.

* Game
  * added camera event listener
  * Interactive context menu for modules
  * Attaching weapons to modules via context menu.
  * Deleted weapon type. part type will replace it.

* +1212, -353, no memory leak.



#### 2014-08-02 Space Environment.

* Engine
  * Added Perlin Noise
  * Added C# editor for testing perlin noise(using c++/cli)
  * Fixed particle emitter culling bug.
  * Fixed file change monitor which was not working sometimes.
  * Added particle profiler

* +613, -80, No memory leak

Added noise generator - using c++/cli and C#


new space environment. using a lot of gpu processing power but still running 60 fps on debug mode(with flock simulation).

Demo movie showing new space environment.

#### 2014-08-04 muzzle flash.

* Engine
  * Support rendering transparent objects
  * Support directional particles.(aligning)
  * uv animation texture generator.

* Game
  * added muzzle flash.

* +799, -214, no memory leak.

#### 2014-08-04 Procedural planet rendering

* Added procedural planet rendering
* Working on 3d noise for space cloud.

* +1416, -87, no memory leak.

Procedural planet rendering. This planet consists of ocean, desert, greenland, magma and clouds.

Shading planet.


#### 2014-08-05 Space station

* Engine
  * Moving Driectional light
  * Fixed bugs on shader & material hot-reloading.
  * fixed reflection bug.
  * fixed perlin noise's noise.

* Game
  * Changed wavedata format.
  * DevMode quick movement.
  * Adding spot manager
  * SpaceRing, Planet control via xml.
  * Added space station.

* +909, -208, memory leak occured today. let's get it tomorrow before starting any coding.



#### 2014-08-06 Random Spot Generation

* Engine
  * Mesh highlighting when mouse hovers.
  * Hexagonal edge rendering

* Game
  * Added spot manager - Random spot generation.
  * Ship highlighting.
  * Improved mouse interaction. - ui and camera
  * Added StationContextUI
  * Transfering civiians from the station to the modular ship. - conceptional.
  * Fixed shaking roll rotation of ships.

* +1143, -481, no memory leak.

#### 2014-08-07 Crew Employment

* Improved Hexagonal UI visual.
* Adding Crew class.
* Adding CrewListUI.
* Added crewtype, names tables.

* +1324, -92, No memory leak.

#### 2014-08-08 Crew - continue...

* Engine
  * AlphaBlending for UIObjects & font. (Font is more beautiful now.)
  * Fixed system messages display time.
  * removed unnecessary fonts.

* Game
  * Added a feature for recruiting crews.
  * added crew list ui.
  * Adding a feature for assigning crews to modules.

* UI
  * Scrolling card scroller.
  * now every container can scroll its content.

* +967, -122, No memory leak.

#### 2014-08-9 HDR rendering

* Engine
  * Clean exit. - all d3d device child's reference counters are zero.
  * Adding HDR rendering. - Downsampling intruduced NaN values into the framebuffer. Some lighting operations had divide 0 errors. fixed.
  * Hot reloading for shaders that are not binded to materials.
  * Shader seperation, now can bind only necessary shader(eg ps, vs, gs...)

* +1273, -186, ...

#### 2014-08-10 GodRays & HDR with MSAA

* Engine
  * Added GodRays
  * fixed HDR artifacts. - accumulating luminance to prevent flickering brightness while rotating the camera.
  * Support MSAA with HDR.

* +682, -169, No memory leak.

HDR off

HDR+Bloom on



God rays


God rays




#### 2014-08-11 Starmap transition

* Starmap transition.

* +415, -50, D3D object leak.

#### 2014-08-12 World Manager

* Added world manager
* Starmap rendering
* Adding Starmap UI

* +1864, -466, ...

#### 2014-08-13 Jump

* Game
  * Moved world manager to GameCommon proj.
  * Marked star and planet names and current location on the star map.
  * Jumping to other planets.
  * Added jump sequence UI
  * Added jump tunnel effect.

* UI
  * Added UIAnimation
  * Added VerticalGauge UI

* +1664, -352, no memory leak.

#### 2014-08-14 Adding universe map

* Engine
  * Interpolation of light properties
  * Interpolation of Sky properties
  * Run-time changable shader defines.

* Game
  * Polishing star map.
  * Adding universe map.
  * Transitioning : play <-> star map <-> universe map
  * Dust enabling/disabling
  * Delayed UI loading. - fast star up time. but sudden stops while playing due to the loading.
  * three times faster jump coordinates calculation for visited spots.


* +1370, -179, no memory leak.

#### 2014-08-15 Interstellar / interplanetary travel.

* Engine
  * Changed the method blening SkySphere - now actually blending two SkySphere instances.
  * Added a parameter to the SetMaterial() method, to specify relevant rendering pass.
  * Sky Sphere materials now need to be setup outside of engine.

* Game
  * Added universe map.
  * Polishing interstellar / interplanetary travel.
  * indicating actual jump travel time at the jump sequence ui.

* +973, -300, d3d objects leak.

#### 2014-08-16 designing modules.

* jump polished.
* designing module textures
* +319, -145, ...

#### 2014-08-17 New module designs.

* New module textures.



* Floating Point Model to Fast.
* Added module texture packer
* Save/Load modular ship.
* Moved construction input handler to UI class.
* Handling code for special modules - research / manufacture modules.
* +954, -167, d3d object leak.

#### 2014-08-18 Multi threaded update

* Engine
  * Enable D3D Thread Pump - faster start up.
  * Added hot reloading for textures.
  * Multithreaded texture pakcer - 4 threads for diffuse, metalic, roughness and normal maps.
  * Fixed a problem - modified file notifications issued twice.
  * Fixed tangent generation for meshes with index buffer.
  * Critical section for the console logging.
  * Critical section for particle active list.
  * Fixed normal calculation bug in the shader.

* Game
  * Multithreaded update for modular ships.
  * fixed a crash when the player jump to another planet while in combat situation.
  * Now, modules glow only when activated.
  * Now fighter meshes use index buffer, but the number of vertices not decreased a lot.
  * Critical section for Ammo list.
  * Critical section for Targeter list.
  * added the second fighter model.
  * re-created serveral module textures.

* +1064, -521, d3d object leak.

added multi-threaded update. Needed to add serveral critical section guards. - for particles, ammos, targeters.
Not tested heavy situation yet, but it is slower than single-threaded update in debug mode.
in release mode, both was the same in 60 frames. need to test heavy situation later.

#### 2014-08-19 Task Scheduler

* Engine
  * Rewrite most part of task scheduler, worker thread, asyncObjects - using c++11
  * fixed dead-lock in TaskScheduler
  * Worker thread number changed fomr 8 to 6
  * Stopping particle emitter immediately.
  * Hot reload .particles

* Game
  * Applying damage
  * Improved flock simulation for enemy ships.
  * Ammo effect texture.

* +1338, -746

#### 2014-08-20 battle

* Engine
  * Added in-game particle editing.
  * Added camera overiding.
  * Fixed AABB culling bug.
  * Support particle color.
  * Added serveral particle blending options. -  Replace, Additive, InvColorBlend
  * Stretchable particles. - dependent to emitters movement speed.

* Game
  * Setting bullet direction
  * Load initial game console variables from lua. -NoSpawn, MTUpdate added
  * Attached fire effect(muzzle flash) to ships.
  * Controlling Ship's engine output level to vary the enemey movement speed.
  * Added particles - 3:cannonBullet, 4:aagunBullet, 5:cannon1Muzzleflash

* +1117, -241

Enemy flock attacking the modular ship.

Enemy fighters attacking the modular ship. Weapons attached to combat moudles are also firing back to the enemy to protect the modular ship and civilians in it.


#### 2014-08-21 Screen Glow

* Engine
  * Added glow screen effect
  * Added file change notifier to the game.
  * Particle blend mode rewrote - Additive, AlphaBlend, InvColorBlend, Replace

* Game
  * Database reloading
  * Added the run command which runs a series of console commands.
  * Added hit_bullet.particle, explosion.particle

Added Screen Glow. Muzzle flashes and bullet trails now glowing. Need to expand to mesh objects.

* +759, -188, leaks exist.


#### 2014-08-22 the 2nd tier weapon.

* All memory leaks, d3d object leak problems are solved - some are multi-threading problem, and some are static related. Do not use SmartPtr for static variables, no use.

* Engine
  * Particle Emitters are not registered to the scene anymore. - only particle render objects are.

* Game
  * Rewrote WeaponManager and Weapon. WeaponManagerClient is deleted. - only visual related codes(Mesh, Particles) are in the client.
  * Added context menu for parts.
  * All database tables are now atomic pointers. - this is required since tables are loaded on demand rather than initial time.
  * Cleaned ModuleType, PartType and WeaponType enumerations and relations.
  * Added the second tier of the weapon class cannon.

* +2319, -633, no memory leak.

#### 2014-08-25 Volumetric fog rendering.

I tried two types of volumetric Fog rendering.
  * Billboard particle fog
  * Mesh volume fog

The first one is implemented referencing this page : https://software.intel.com/en-us/articles/dynamic-volumetric-cloud-rendering-for-games-on-multi-core-platforms
It looks good, but hard to control the cloud shape and fillrate was too high to get descent visual since I wanted to fill the cloud wide space.

The second method implemented referencing this page : http://www.gamasutra.com/view/feature/131442/volumetric_rendering_in_realtime.php
It looks easy to implement at the first sight but it was tricky due to the alpha blending and depth culling. Especially when the volumes partially in the view frustum - like culled at the far plane or near plane - and when the serveral volumes are intersected, and lastly when the volume shape is not convex. The final visual is a little bit boaring since it doesn't have color variation. But it is good for random generation and the performance is good.

try rendering. can find serveral black narrow spots due to wrong depth stencil setting.

Culling problem. Can see serveral sudden empty space due to culled volume shpaes by far plane.


try to support intersections - work was in progress.


Random fog generation1



Random fog generation2.

* Engine
  * Volumetric Cloud - Volume mesh method and Billboard particle method.
  * Added depth pass.
  * Material can have sub-materials

* +4295, -809, no memory leak.

#### 2014-08-27 memory manager

* custom new/delete  for memory manager
* matching every memory allocation/deallocation pair in the same dll and cpp file.
* New explosion effect
* added pre multiplied alpha mode for particle blending.
* upgrading weapon parts.

* +1968, -1134, no memory leak.

#### 2014-08-28 UI hot reloading

* Now UIs are loaded from a file. Hot-reloading supported.
* Following ui properties are added
  * TEXT_VALIGN
  * ALIGNH
  * ALIGNV
  * TEXT
  * TEXTUREATLAS
  * REGION
  * ALPHA
* Following UIs are added to the game
  * ActionUI
  * FlockCommandUI
  * NavigationUI
  * ResourceUI
  * SpecialModulesUI
  * WaveUI
* + 1771, -265, No memory leak. - need to fix crash when exit. modular ship deleted two times in the battle and while exiting.

#### 2014-08-29 fastbird-engine 2014-AUG released!

fastbird-engine 2014-AUG released : https://github.com/fastbird/fastbirdEngine/releases

'''changes'''

* Engine
  * HDR rendering - bright pass and tone mapping
  * Godrays rendering - occlusion pre pass
  * Glow rendering
  * Volumetic Cloud / fog rendering
  * Added seperated depth pass
  * Sky/Light interpolation
  * Mesh highlighting.
  * Independent use of shaders from materials
  * Materials now can have sub-materials for sub passes.
  * rewrote threading codes - Threads, SyncObjects, CriticalSections, Tasks and Scheduler
  * Improved the memory manager - now using FB_NEW/FB_DELETE for memory alloc/deallocation.
    * all memory alloc/dealloc pairs happen in the same module(every case) and the same cpp(the most case) file.
  * Improved ParticleSystem
  * Added perlin noise function
  * Added editor project - currently have the feature packing uv textures, generating perlin noise textures.
  * Fixed index buffer bug on collada importer
* UI
  * UI alphablending
  * Added hexagonal context ui
  * Added vertical gauge
  * UI canbe defined in the file - supporting hot reloading.
* Documents
  * Material How-to :
    * https://github.com/fastbird/fastbirdEngine/wiki/Material-How-to
    * https://github.com/fastbird/fastbirdEngine/wiki/Material-How-to_KOR (한국어)
  * Particle How-to:
    * https://github.com/fastbird/fastbirdEngine/wiki/Particle-How-to
    * https://github.com/fastbird/fastbirdEngine/wiki/Particle-How-to_KOR (한국어)


log
* Sorting UIs for alphablending
* Now button ui can have images in it.
* BACKGROUND_IMAGE, BACKGROUND_IMAGE_HOVER UI properties are added.
* Button background images and boundary color.
* +325, -154

#### 2014-08-30 Shadow map

* introduced shadow map.
* fixed submaterial bugs.
* using fullscreen triangle instead of fullscreen quad.
* +613, -466



#### 2014-08-31 Depth Outline

* SamplerStates are now independent to textures.
* Depth Outline rendering. - http://blog.naver.com/jungwan82/220109498661
* + 608, -316

Depth Outline.

댓글

이 블로그의 인기 게시물