Jump to content

  • Log In with Google      Sign In   
  • Create Account


Shuuny

Member Since 16 May 2008
Offline Last Active Feb 03 2014 02:19 PM
-----

Topics I've Started

Model import adventures

19 December 2013 - 06:52 AM

I come across this beautiful chain, while trying to update SharpDX's code, for model animation, problem arose from inconsistency in model formats.

 

3D applications internal workings ->

->OpenCollada exporter implementation->

->Assimp library Collada loader/parser implementation->

->AssimpNET implementation->

->SharpDX toolkit model processor, that converts Assimp format to SharpDX specific binary->

->SharpDX code that reads that binary at runtime->

->The application that uses that and, for example, displays the model.

 

7 whole steps, where something can go wrong.

 

Its a nightmare, let me tell you. Now, imagine that model you are loading, does not display correctly, where the problem lies?

 

Is there a bug in 3D application and its not exporting something correctly?

Is there a bug in OpenCOLLADA implementation?

Is there a bug in Assimp?

Is there a bug in AssimpNET?

Is there a bug in SharpDX assimp to binary conversion?

Is there a bug in SharpDX binary to runtime conversion?

Is there a bug display/rendering code?

 

So then you find it.

 

Then you load different model, or the same model with different model format...aaand you got something displaying incorrectly and round you go. You see where I'm getting at.

 

So while I'm thinking that I started to wonder - is there any data formats/ techniques, where you can get something like what you would call "intermediate runtime data format"? Something like .NET's msil that can be used to compile for different processors, but describing some memory data structure for different languages instead of processors?

 

I would imagine it work something like code and similar to XML+XML scheme. I would have something like XML scheme, that describes the constraints, but also includes support for references and typed data structures, I would have a language specific runtime type/class code generator, that makes runtime code/class from scheme. Then, given *ANY* scheme, any file that is written alongside this whole thing, and a file, that is a running instance of that scheme, I would just need to do 2 steps, that would not change for ANY model (or anything, for that matter) format, written in this way.

 

1. Generate language specific object/parser/whatever from any given scheme. Input universal scheme file -> Output code file containing language specific implementation of that scheme.

2. Initialize that object in runtime in trivial manner such as loading it from disk using common Load method (interface) available in all schemes.

 

Is there something like that? Discuss.

 

EDIT: So I found this http://en.wikipedia.org/wiki/Protocol_Buffers, Google inc. beat me to it. Just have to dig in deeper and find out is it supporting all the necessities.


A* (or pathfinding general) Find closest point to region

18 September 2008 - 09:55 AM

Hi, if i have some rectangular region defined or just one tile in grid-based system, how could i find path to that region(region or tile is impassable)?

Get your programmer personality!

16 May 2008 - 02:20 AM

It would be interesting what are personality types dedicated(?) to game dev stuff so heres the test: http://www.humanmetrics.com/cgi-win/JTypes2.asp -> You will get four letters (like i got INTJ ) then read description here http://www.personalitypage.com/high-level.html . Don't forget to post your results! :) Ill add some statistics: (how to add a pool??) * ISTJ - The Duty Fulfillers - 4 * ISTP - The Mechanics - 5 * ISFJ - The Nurturers - 1 * ISFP - The Artists - 1 * INTJ - The Scientists - 15 * INTP - The Thinkers - 8 * INFJ - The Protectors - 3 * INFP - The Idealists - 1 * ESTJ - The Guardians - 1 * ESTP - The Doers - 0 * ESFJ - The Caregivers - 1 * ESFP - The Performers - 2 * ENTJ - The Executives - 6 * ENTP - The Visionaries - 4 * ENFJ - The Givers - 3 * ENFP - The Inspirers - 0 INTJ wins... a lot :D [Edited by - Semeii on September 22, 2008 8:39:35 AM]

PARTNERS