Archives for: May 2007

2007-05-29

Personal Log 28 May 2007

Permalink 03:34:59 am, Categories: Personal Log  

I will be traveling from Grand Forks to Minneapolis for the better part of the day tomorrow. As such, I probably won't be making a log entry for 29 May 2007. I will be addressing the following issues when I get back home to Minneapolis:

  • Determine problems with parsing of XML files using current setup
  • Make UML class diagrams more concise and readable
  • Develop Use Case documents
  • Finish basic application and parsing of a simply XML file

Once these items are finished, I will begin working on the geometry conversion functionality in the COLLADA conversion library.

2007-05-28

Design Log 28 May 2007

Permalink 10:06:56 pm, Categories: Design Log  

My goals for today are the following:

  • Get iDocument code working correctly
  • Fix UML Class Diagrams
  • Create Use Cases

I began tackling the first item on the list, but ran into a few troubles, which I am still trying to figure out (although the day is not yet gone ;) ).

Basically, what it amounts to is that I have been working to try and get the basic iDocument system figured out. It's actually very easy to understand, and pretty easy to implement, but I am getting a segfault which confounds me. Specifically, I have the following code to load a COLLADA file:

colladaFile = fileSystem->Open(TESTFILE, VFS_FILE_READ);
        if (!colladaFile.IsValid())	
	{
		cout << "Attempting to open: " << TESTDIR << TESTFILE << endl;
		return ReportError("Error: Unable to open COLLADA file on VFS.  Terminating.");
	}

	// This works
	csRef<iDataBuffer> buf = colladaFile->GetAllData();
	//cout << buf->GetData() << endl;
	
	// This does not work
	colladaDocument->Parse(colladaFile);
	//colladaDocument->Parse(buf);

One would think that the colladaDocument->Parse() calls would actually parse the file in question, which happens to be a COLLADA file exported with Blender. Since COLLADA files are XML files, the XMLRead plugin (or the XMLTiny plugin) should be able to at least PARSE the file. Instead, I get a segfault when I attempt to run the program. The lines previous to it (the ones commented with // this works) work fine - the file is clearly read into the data buffer and then output again, if I want it to be. It's the parsing that seems to be a pain.

The second item hasn't yet been accomplished, due to some problems with Java on my current workstation, and thus my inability to use my current UML tool: Visual Paradigm. I intend to get this problem fixed by tomorrow afternoon, but I haven't got the slightest clue why install4j doesn't work. (There were some problems with the system, so I decided to reinstall VP. When I tried to do so, the installer gives me a null pointer exception. Wierd).

I am currently working on the third item on the list, and should be finished by late this afternoon. I will publish an update when I am finished, along with downloadable versions of the Use Case Documents.

2007-05-25

Design Log 25 May 2007

Permalink 10:14:52 pm, Categories: Design Log  

After beginning development of the SCF interface for the COLLADA Conversion Library (which, I believe will be called iColladaConvertor), I have decided that constructing a rudementary Use Case diagram would be beneficial. This will, at least, allow me to visualize what it is I am trying to keep in my brain - that is, what the library will actually DO, and how that will be structured. A diagram is attached:

COLLADA Conversion Library Use Case Diagram

Ideally, the user will be able to interface with the library in multiple ways. I am designing it such that the user could concievable convert COLLADA files to Crystal Space formats 'on-the-fly', although this would be time consuming. I will develop an alternative method, such that instead of calling all of the individual ConvertGeometry(), ConvertRiggingAnimation(), etc... functions, they would be able to do a complete conversion of all COLLADA files before the game starts, (or possibly, as things develop, before a zone is loaded). Of course, the general idea would still be that COLLADA is an interchange format, and thus, most of the conversion should happen offline, before the game ships, this would allow users to support COLLADA formats in-game, for example, with users who wish to use COLLADA formats for modding a game already constructed. At any rate, the idea is to abstract as much as possible, so that it 'just works', but yet allow those users who may only want to display the geometry of a COLLADA file (i.e. for testing purposes) and not anything else (e.g. the shaders, lighting, animation/rigging, etc...) to access individual conversion functions.

2007-05-24

Design Log 23 May 2007

Permalink 03:15:37 am, Categories: Design Log  

I began implementing what will become the COLLADA Conversion Utility. I started out with this piece, because I am working to learn the basics of iDocument/iDocumentNode usage. It's fairly straightforward and simple, but as the program evolves, it will be more complex. Right now, all the application does is open a Crystal Space Window, and associate with a document. It's probably not necessary to have it as a Crystal Space Application, but since I had a template for this, it seemed easiest at the moment. I will probably change it tomorrow so that it's just a standard application utilizing Crystal Space functionality.

Since the SOC hasn't actually started yet, I've been taking it easy and just mainly focusing on research. Thus, my posts until the 28th will probably be fairly brief, but you can expect more detailed log entries after May 28th.

2007-05-22

Design Log 22 May 2007

Permalink 10:54:13 pm, Categories: Design Log  

I have been working on the design aspects of the COLLADA Conversion implementation. My primary goal at this point is to create an overall structure of where I want to go, before beginning actual coding on the 28th. I have constructed a basic (very basic) class diagram. I probably should've created a Use Case Diagram first, but I feel this would be somewhat of a waste of time, as I already am familiar with what the system should do, and how it should interact with the user. In the case of a use case diagram for the library, this might be useful, but I want to design one such that it exhibits the traits necessary for the first iteration. The basic class diagram is attached. The XMLFile class, as well as the Translator (basic class) will more than likely be replaced by iDocument and iDocumentNode classes, which are already present in the CS codebase. I just placed them in for now, so that I have a direction of where to proceed and what I need to implement.

Additionally, I will be looking into researching how the iDocument interfaces work, and how to use them in my implementation, in the next day or two.

COLLADA Conversion Library Initial Class Diagram

2007-05-11

Design Log 10 May 2007

Permalink 12:40:43 am, Categories: Design Log  

I began working on the overall design of the project. I am experienced with UML and formal design processes, so I will be drawing upon that expertise in order to make sure that my project is successful. The package diagram (designed to illustrate which distinct packages, or components of the software need to be developed) is attached.

Package Diagram for COLLADA Conversion Project

The overall goal is to define a library which will transform (either on the fly, or offline) a COLLADA file to a Crystal Space world or library file using an XML translation process. Thus, an XML interpreter will be necessary. The idea is that both COLLADA and CS files are XML files, and should be verifiable. Thus, I might be able to diagnose and eliminate errors before they cause the program to crash or whatnot - if it's not valid XML, throw it out. Also, while the XML interpreter is going to be a class inside of my design schematics, I assume that Crystal Space already has an interpreter, as well as an XML File class.

2007-05-03

Summer of Code to Begin

Permalink 12:27:22 am, Categories: Personal Log  

Ok, well I intend to keep a daily log here of my work on the COLLADA conversion utility/library for GSoC. I probably will be posting off and on until around May 20, but after that, it will be a daily (perhaps more than daily) log. I am really excited to begin working on this project. I have been looking forward to it for the remainder of this semester - thinking 'man...if I just get through these next couple of weeks, then I get to do cool stuff' Hehe. Anyway, for those of you who I have never met, my name is Scott Johnson. I'm a PhD student at the University of Minnesota. I have worked with Crystal Space for about a year and a half now, but this is the first time I am going to get the opportunity to really get my hands dirty with the engine itself (rather than applications that use it). I hope this will be a jump off point for me to start working continuously on different parts of the CS engine.

Say hi if you get a chance - my nick on irc is jwir3, and I'm always willing to chat over email. scottj {at} cs.umn.edu - I love meeting new people, especially those that share my interests, so don't feel shy to drop me an email!

May 2007
Mon Tue Wed Thu Fri Sat Sun
 << < Current> >>
  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      

Search

Categories

Misc

XML Feeds

What is this?

powered by
b2evolution