Author Topic: VertexController speed  (Read 4889 times)

Offline cyberkilla

  • float
  • ****
  • Posts: 413
    • View Profile
    • http://futurerp.net
VertexController speed
« on: February 13, 2007, 04:08:28 pm »
Egon, how costly is using a VertexController, in a case like skeletal animation,
when you need to have mesh access for almost every frame?
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
VertexController speed
« Reply #1 on: February 13, 2007, 05:37:54 pm »
Not much! The critical parts are in your hands, i.e. in the implementation of the actual apply()-method.

Offline cyberkilla

  • float
  • ****
  • Posts: 413
    • View Profile
    • http://futurerp.net
VertexController speed
« Reply #2 on: February 13, 2007, 07:11:22 pm »
Oh, well that is no good!

Now I have nobody else to blame when I try it later, and it runs slow;)

Actually, I think it should do fine. Im going for proper skeletal animation
for now, instead of the mesh keyframes(cant explain why, it just happened that way);)

Im trying to keep everything neat, and documented, because I'd like to see if somebody would test it for me soon.

One more thing...Egon, your XML reader...I will use it:) At the moment, im using jdom, because I had it set up already, and knew how to use it.
Your xml parser looks nice and simple, and it seems to be DOM also, so no problems here:)
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
VertexController speed
« Reply #3 on: February 13, 2007, 07:22:33 pm »
The XML-parser...yes, it's very simple. Maybe too simple. If it's missing something, please let me know. It's something that i had written just because i had nothing else to do. It's far from being perfect, i guess.

Offline cyberkilla

  • float
  • ****
  • Posts: 413
    • View Profile
    • http://futurerp.net
VertexController speed
« Reply #4 on: February 13, 2007, 07:35:57 pm »
The only things that come into common use when I use jdom, are...

node.getChild("name")
First child node found is returned.

node.getChildren("name")
Returns all child nodes in a List.

node.getAttributeValue("name")
Returns value of attribute if found.

node.getText()
Returns contents of the xml node.

node.getChildText("name")
Returns contents of a child node.

Everything here seems to be implemented in some way, in your parser,
so it should be okay for now:) I hope;).

As you can see, those methods are merely convieniences.
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG

Offline cyberkilla

  • float
  • ****
  • Posts: 413
    • View Profile
    • http://futurerp.net
VertexController speed
« Reply #5 on: February 15, 2007, 04:59:43 pm »
Modifications to be like jdom....
What im using for skeletal api, because it is a million times faster then
changing lots of code:P

Code: [Select]

public class XMLParserFactory
{
private static XMLParserFactory defaultInstance = new XMLParserFactory();

public static XMLParserFactory getInstance()
{
return defaultInstance;
}
public XMLElement parseXML(String input)
{
return new XMLElement(XMLFactory.getInstance().parseXML(input));
}
}


public class XMLElement
{
XMLNode node;

public XMLElement(XMLNode node)
{
this.node = node;
}
public XMLElement getChild(String name)
{
Vector nodes = XMLFactory.getInstance().getMatchingNodes(node.getName()+"/"+name,node);
if(nodes.size() == 0)
return null;

XMLNode newNode = (XMLNode)nodes.get(0);
return new XMLElement(newNode);
}
public List<XMLElement> getChildren(String name)
{
List<XMLElement> elements = new ArrayList<XMLElement>(20);
Vector<?> nodes = XMLFactory.getInstance().getMatchingNodes(node.getName()+"/"+name,node);

for(Object o : nodes)
elements.add(new XMLElement((XMLNode)o));

return elements;
}
public String getAttributeValue(String name)
{
String value = node.getAttributeValue(name);
return (value.length() != 0) ? value : null;
}
public String getText()
{
return node.getData();
}
public String getChildText(String name)
{
XMLElement element = getChild(name);

if(element != null)
return element.getText();
else
return null;
}
}

I am just too used to the jdom conventions, i suppose:)
http://futurerp.net - Text Based MMORPG
http://beta.rpwar.com - 3D Isometric MMORPG