• Home
  • Resume
  • Experiences
  • Blog
  • Story about myself
  • Contact

Charlie's chat room

EAE6320 Assignment05

9/28/2015

0 Comments

 
So this week, we move more functionalities of building assets into lua-controlled.
Here's the effect after adding a new triangle mesh and make it enlisted in the AssetsToBuild lua table:
Picture
Next week we're going to work deeper into customizing our various assets builder. To prove that I could step-by-step debug it. Here's a screen shot of debugging MeshBuilder:
Picture
Just like BuildAssets.lua, I placed new AssetsToBuild.lua into the same folder of "Scripts". It's intuitive for me to do so because it keeps the same structure as the file directory on disk. These two files should be placed together because they work closely together that BuildAssets method in BuildAssets.lua is coded according to the design of key values and file structure in AssetsToBuild.lua. 

I'll keep the simplest structure of AssetsToBuild.lua as JP proposed. Info of a certain asset is kept under each array table. The array table contains key-value pairs which are convenient for lua program to access. Lua function simply visit array table one by one and call corresponding asset builder.
Picture
But obviously, this "raw" structure is not concise and systematic enough. I'll regroup and redesign the structure according to the classification of the assets.

​For BuildAssets project, I deleted input arguments of the custom build step when calling AssetBuilder.exe. The reason is straight forward that AssetBuilder.exe only call lua function with pre-determined asset list, AssetsToBuild.lua. In that, specific asset builders are designated and called. AssetBuilder as a main entrance doesn't need to take in any argument because it works on a predefined routine now.

BuildAssets shall depend on all the asset builders, by the end of this assignment, they are AssetBuilder, GenericBuilder and MeshBuilder projects. The reason is that BuildAssets will call AssetBuilder which will call other builders. All the builders should be ready when BuildAssets is done building.

AssetBuilder should depend on Lua project for sure because it has intensive interaction with lua scripts. Other than that, it also depends on Windows project for utilizing helper functions. It's worth noticing that although AssetBuilder will call GenericBuilder and MeshBuilder, it shouldn't depend on these two because it's a run-time dependency. AssetBuilder doesn't need anything from GenericBuilder or MeshBuilder in order to finish compiling and linking. As BuildAssets depends on all of them. It's already ensuring by the time AssetBuilder is running, GenericBuilder and MeshBuilder will be ready to be called.

Here's a copy of my executable
assignment05.zip
File Size: 81 kb
File Type: zip
Download File

0 Comments



Leave a Reply.

    Archives

    January 2016
    December 2015
    November 2015
    October 2015
    September 2015
    August 2015
    January 2015

    Categories

    All
    Campus Game Programming
    Free Bla

    RSS Feed

Powered by Create your own unique website with customizable templates.