utensil/lol-model-format

View on GitHub
references/Collada_Tutorial_2_files/CommentForm.htm

Summary

Maintainability
Test Coverage

<!-- saved from url=(0036)http://www.wazim.com/CommentForm.php -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Comments Form</title>
<!-- style -->
<link rel="stylesheet" type="text/css" href="styleCreation.css">
<!-- script -->
<style id="__huaban_Style">#__huaban_Container {font-family: 'helvetica neue', arial, sans-serif; position: absolute; padding-top: 37px; z-index: 100000002; top: 0; left: 0; background-color: transparent; opacity: 1;hasLayout:-1;}#__huaban_Overlay {position: fixed; z-index: 100000001; top: 0; right: 0; bottom: 0; left: 0; background-color: #f2f2f2; opacity: .95;}* html #__huaban_Overlay {position: absolute;}#__huaban_Control {position:relative; z-index: 100000; float: left; background-color: #fcf9f9; border: solid #ccc; border-width: 0 1px 1px 0; height: 200px; width: 200px; opacity: 1;}* html #__huaban_Control {position:static;}#__huaban_Control img {position: relative; padding: 0; display: block; margin: 82px auto 0; -ms-interpolation-mode: bicubic;}#__huaban_Control a {position: fixed; z-index: 10001; right: 0; top: 0; left: 0; height: 24px; padding: 12px 0 0; text-align: center; font-size: 14px; line-height: 1em; text-shadow: 0 1px #fff; color: #211922; font-weight: bold; text-decoration: none; background: #fff url(http://huaban.com/img/fullGradient07Normal.png) 0 0 repeat-x; border-bottom: 1px solid #ccc; -mox-box-shadow: 0 0 2px #d7d7d7; -webkit-box-shadow: 0 0 2px #d7d7d7;}* html #__huaban_Control a {position: absolute; width: 100%;}#__huaban_Control a:hover {color: #fff; text-decoration: none; background-color: #1389e5; border-color: #1389e5; text-shadow: 0 -1px #46A0E6;}#__huaban_Control a:active {height: 23px; padding-top: 13px; background-color: #211922; border-color: #211922; background-image: url(http://huaban.com/img/fullGradient07Inverted.png); text-shadow: 0 -1px #211922;}.__huabanImagePreview {position: relative; padding: 0; margin: 0; float: left; background-color: #fff; border: solid #e7e7e7; border-width: 0 1px 1px 0; height: 200px; width: 200px; opacity: 1; z-index: 10002; text-align: center; overflow:hidden;}.__huabanImagePreview .__huabanVideoIcon {position:absolute;display:block;top:0;left:0;width:100%;height:100%;background:url(http://huaban.com/img/media_video.png) center center no-repeat;}.__huabanImagePreview .__huabanImg {border: none; height: 200px; width: 200px; opacity: 1; padding: 0; position: absolute; top: 0;}.__huabanImagePreview .__huabanImg a {margin: 0; padding: 0; position: absolute; top: 0; bottom: 0; right: 0; left: 0; display: block; text-align: center;  z-index: 1;}.__huabanImagePreview .__huabanImg a:hover {background-color: #fcf9f9; border: none;}.__huabanImagePreview .__huabanImg .ImageToPin {max-height: 200px; max-width: 200px; width: auto !important; height: auto !important;}.__huabanImagePreview img.__huaban_PinIt {border: none; position: absolute; top: 82px; left: 42px; display: none; padding: 0; background-color: transparent; z-index: 100;}.__huabanImagePreview strong {text-indent: -9999px; position: absolute; top: 82px; display: none; height: 32px; background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0 0;}.__huabanImagePreview strong.__huaban_ThunderPin {width: 24px; left: 52px; background-position: 0 0;}.__huabanImagePreview strong.__huaban_ThunderPin:hover {background-position: 0 -50px;}.__huabanImagePreview strong.__huaban_ThunderPin:active {background-position: 0 -100px;}.__huabanImagePreview strong.__huaban_Pin {width: 72px; left: 75px; background-position: -40px 0;}.__huabanImagePreview strong.__huaban_Pin:hover {background-position: -40px -50px;}.__huabanImagePreview strong.__huaban_Pin:active {background-position: -40px -100px;}.__huabanImagePreview img.__huaban_vidind {border: none; position: absolute; top: 75px; left: 75px; padding: 0; background-color: transparent; z-index: 99;}.__huabanDimensions { color: #000; position: relative; margin-top: 180px; text-align: center; font-size: 10px; z-index:10003; display: inline-block; background: white; border-radius: 4px; padding: 0 2px;}#__huaban_Button, #__huaban_Button *, #__huaban_Container, #__huaban_Container * { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; -ms-box-sizing: content-box; box-sizing: content-box;}#__huaban_Button { display: block; position: absolute; z-index: 999999999 !important; color: #211922; text-shadow: 0 1px #eaeaea; font: 12px/1 'Helvetica Neue',Helvetica,Arial,Sans-serif; text-align: center; padding: 0; margin: 0; cursor: pointer;}#__huaban_Button a {text-decoration: none; color: #211922; display: inline-block; text-align: center; line-height: 14px; height: 14px; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; cursor: pointer; position: absolute; top: 0; left: 0; height: 14px; margin: 0 2px; padding: 5px 8px; border: 1px solid #555; border: 1px solid rgba(140, 126, 126, .5); background-color: #fff;}#__huaban_Button a:hover {text-decoration: none; background-image: -webkit-linear-gradient(top, #fefeff, #efefef); background-image: -moz-linear-gradient(top, #fefeff, #efefef); box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -o-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -ms-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -moz-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75); -webkit-box-shadow: inset 0 1px rgba(255,255,255,0.35), 0 1px 1px rgba(35,24,24,0.75);}#__huaban_Button a:active {text-decoration: none; background-image: -webkit-linear-gradient(top, #fefeff, #efefef); background-image: -moz-linear-gradient(top, #fefeff, #efefef); box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -o-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -ms-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -moz-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5); -webkit-box-shadow: inset 0 1px 2px rgba(34,25,25,0.25), 0 0 1px rgba(232,230,230,0.5);}#__huaban_Button a strong {position: relative; line-height: 12px;}#__huaban_Button a.thunderpin {margin-right: 0; border-right: none; width: 14px; padding: 5px 0 5px 4px; border-top-right-radius: 0; border-bottom-right-radius: 0; -webkit-border-top-right-radius: 0; -webkit-border-bottom-right-radius: 0; -moz-border-top-right-radius: 0; -moz-border-bottom-right-radius: 0; -ms-border-top-right-radius: 0; -ms-border-bottom-right-radius: 0; -o-border-top-right-radius: 0; -o-border-bottom-right-radius: 0;}#__huaban_Button a.thunderpin em {background: url(http://huaban.com/img/ActionIcons10.png?20120801) no-repeat -30px 0; position: relative; display: inline-block; width: 10px; height: 10px; top: 1px; left: -2px;}#__huaban_Button a.thunderpin:hover em {background-image-postion: -30px -10px;}#__huaban_Button a.thunderpin:active em {background-image-postion: -30px -20px;}#__huaban_Button a.pin {left: 20px; width: 64px; margin-left: 0; *margin-left: -2px; border-top-left-radius: 0; border-bottom-left-radius: 0; -webkit-border-top-left-radius: 0; -webkit-border-bottom-left-radius: 0; -moz-border-top-left-radius: 0; -moz-border-bottom-left-radius: 0; -ms-border-top-left-radius: 0; -ms-border-bottom-left-radius: 0; -o-border-top-left-radius: 0; -o-border-bottom-left-radius: 0;}.__huaban_Button_share {text-indent: -9999px; width: 68px; height: 24px; padding:0; background: url(http://huaban.com/img/sharebutton_sprite.png?20121226) no-repeat 0 -80px !important; border: none;}.__huaban_Button_share:hover {background-position: 0 -120px; background-position: 0 -120px !important;}.__huaban_Button_share_top {background-position: 0 -80px; background-position: 0 -80px !important;}.__huaban_Button_share_top:hover {background-position: 0 -120px; background-position: 0 -120px !important;}.__huaban_Button_share_bottom {background-position: 0 0; background-position: 0 0 !important;}.__huaban_Button_share_bottom:hover {background-position: 0 -40px; background-position: 0 -40px !important;}.__huaban_thunder_tip { height: 16px; position: absolute; z-index: 999999999 !important; background: #000; background: rgba(0,0,0,0.5); color: #ddd; line-height: 16px; padding: 5px; border-radius: 2px; margin-left: 2px; }.__huabanImagePreview .__huaban_thunder_tip {height: 12px; line-height: 12px; padding: 10px; font-size: 14px; top: 50%; left: 50%; margin-left: -48px; margin-top: -18px;}.__huaban_thunder_tip_success {color: #fff;font-weight: bold; height: 32px;}.__huaban_thunder_tip p {font-weight: normal; text-align: center; margin-top: 2px;}.__huaban_thunder_tip a {color: #fff;}.__huaban_thunder_tip_failed {height: 32px; font-weight: bold; color: #fff;background: #c90000; background: rgba(201, 0, 0, .5); }.__huaban_thunder_tip_failed p {margin: 0 2px; font-weight: normal; font-size: 12px;}.__huaban_thunder_tip span { padding-left: 18px; position: relative;}.__huaban_thunder_tip span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0px -150px; display: inline-block; height: 16px; width: 16px; position: absolute; left: 0; top: 50%; margin-top: -8px;}.__huaban_thunder_tip_success span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat 0px -150px;}.__huaban_thunder_tip_failed span em { background: url(http://huaban.com/img/bm_pin_sprite.png?20120801) no-repeat -40px -150px;}.__huaban_thunder_tip_ing span em { background: url(http://huaban.com/img/thunder_motion.gif?20120801) no-repeat 2px 2px;}.__huabanImagePreview .__huaban_thunder_tip_failed {height: 32px; width: 140px; margin-left: -80px; margin-top: -26px;}.__huabanImagePreview .__huaban_thunder_tip_success {height: 32px; width: 88px; margin-left: -52px; margin-top: -26px;}.__huabanImagePreview .__huaban_thunder_tip_ing {width: 72px;}.__huabanImagePreview .__huaban_thunder_tip_success p, .__huabanImagePreview .__huaban_thunder_tip_failed p {margin-top: 9px; font-size: 12px; display: block;}</style></head>

<body onload="LoadComments();">
<!-- PHP Section -->


<!-- JavaScript Section -->
<script type="text/javascript"> 

<!--

var GlobalString = "Global string is Empty";
function InsertDataInTheDataBase() 
{
    alert("It works ok");
}

function Reply(username,commentid) 
{
    //alert(document.getElementById(commenttext).innerHTML);
    var ReplyPre = '<div class="ReplyCommentee"><a href="#comment-' + commentid + '"> Reply: ' + username + '</a> </div>';
    document.getElementById('comment').innerText = ReplyPre;
    document.CommentForm.comment.focus();
    // <div class="Quote"> <div class="QuoteCommentee"><a href="#Wasim">WasimNika</a> </div>
    //
}

function Quote(username,commentid,commenttext) 
{
    //alert(document.getElementById(commenttext).innerHTML);
    var QuoteText = document.getElementById(commenttext).innerHTML;
    var QuotePre = '<div class="QuoteCommentee"><a href="#comment-' + commentid + '">Quote: ' + username + '</a> </div> <div class="Quote"> ' + QuoteText + '</div>';
    document.getElementById('comment').innerText = QuotePre;
    document.CommentForm.comment.focus();
    // <div class="Quote"> <div class="QuoteCommentee"><a href="#Wasim">WasimNika</a> </div>
    //
}

function checkEmail (strng) 
{
    var error = "";
    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) 
    { 
           error = "Please enter a valid email address.\n";
    }
    else 
    {
            //test email for illegal characters
            var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
            if (strng.match(illegalChars)) 
            {
                 error = "The email address contains illegal characters.\n";
            }
    }
    return error;    
}

function Validate_CommentForm ( )
{
        var returnValue = true;
        if ( document.CommentForm.author.value == "" || document.CommentForm.email.value == "")
        {
                alert ( "Please fill in the required fields" );
                return false;
        }

        if ( document.CommentForm.email.value != "")
        {
            error = checkEmail(document.CommentForm.email.value);
            if ( error != "")
            {
                alert ( error );
                document.CommentForm.email.focus();
                return false;
            }
        }
 
        if ( document.CommentForm.comment.value == "")
        {
                alert ( "Please enter any comments" );
                document.CommentForm.comment.focus();
                return false;
        }
        
        if ( document.CommentForm.security_code_ib.value == "" )
        {
                alert ( "Please enter the required security code before submitting the form" );
                return false;
        }
        /*
        document.CommentForm.comment.value = '';
        document.CommentForm.author.value = '';
        document.CommentForm.email.value = '';
        document.CommentForm.url.value = '';
        */
        return true;
}

function LoadComments ( )
{
    //alert("Page is loaded already");
    document.getElementById('Comments').innerHTML='<div id=\"CommentsList\">\n                    <ol id=\"TheCommentsList\"><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Luke</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        November 6th, 2009 at 13:11 \n                                                        | <a name=\"comment-1\" href=\"#comment-1\">#1</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Luke\',\'1\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Luke\',\'1\',\'commentText-1\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-1\">\n                                                        Thanks for your time and for your tutorial.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Rahul Singh</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        November 23rd, 2009 at 16:02 \n                                                        | <a name=\"comment-2\" href=\"#comment-2\">#2</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Rahul Singh\',\'2\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Rahul Singh\',\'2\',\'commentText-2\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-2\">\n                                                        it is nicely written and explained\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        April 3rd, 2010 at 15:37 \n                                                        | <a name=\"comment-3\" href=\"#comment-3\">#3</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'3\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'3\',\'commentText-3\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-3\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-3\"> Reply: Rahul Singh</a> </div>\n\nThats the idea :) People should be able to understand. Although I am not an English Speaker so my english definitely sucks.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Alon</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        April 19th, 2010 at 16:50 \n                                                        | <a name=\"comment-4\" href=\"#comment-4\">#4</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Alon\',\'4\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Alon\',\'4\',\'commentText-4\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-4\">\n                                                        Thanks. Your totorial brought me to the heart of things very fast.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        April 19th, 2010 at 16:54 \n                                                        | <a name=\"comment-5\" href=\"#comment-5\">#5</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'5\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'5\',\'commentText-5\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-5\">\n                                                        <div class=\"QuoteCommentee\"><a href=\"#comment-5\">Quote: Alon</a> </div> <div class=\"Quote\"> Thanks. Your totorial brought me to the heart of things very fast. </div>\n\nYou are most welcome\nIts such a pleasure to know The tutorial is serving its purpose :)\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>mapi</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        April 29th, 2010 at 14:31 \n                                                        | <a name=\"comment-6\" href=\"#comment-6\">#6</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'mapi\',\'6\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'mapi\',\'6\',\'commentText-6\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-6\">\n                                                        wonderful tutorial. I have been waiting for so long\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Jake</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        May 18th, 2010 at 14:59 \n                                                        | <a name=\"comment-7\" href=\"#comment-7\">#7</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Jake\',\'7\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Jake\',\'7\',\'commentText-7\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-7\">\n                                                        Hate you for not supplying full source code!!\n<br /><br />\nBut in a way, it\'s good. Forced me to step through every minute detail to understand everything. Appreciate it very much. Thanks!\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        May 18th, 2010 at 15:07 \n                                                        | <a name=\"comment-8\" href=\"#comment-8\">#8</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'8\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'8\',\'commentText-8\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-8\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-8\"> Reply: Jake</a> </div>\n\nIn fact I do supply full source code for the CBA reader, Please download the Roar Engine source code from http://www.wazim.com/Projects.htm and you can also find the Exporter source code there. <br />\nBut yes that helps a lot to learn by doing it rather copy and paste. \n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Reloaded</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        June 4th, 2010 at 17:10 \n                                                        | <a name=\"comment-9\" href=\"#comment-9\">#9</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Reloaded\',\'9\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Reloaded\',\'9\',\'commentText-9\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-9\">\n                                                        Thanks. This cleared things a bit here and there, however, I didn\'t get an explanation (or maybe just missed it) for the only thing that bothers me about skeletal animation. If I have only one mesh in <geometry> section consisting of one set of vertices, how do I know which part of them forms a head for my seymour model? I can draw a model and I can perform joint transformations, yet I\'m still unable to attach model to skeleton.\n<br /><br />\nWhen using keyframe animation, geometry is associated with appropriate joint, therefore joint transformations also animates respective geometry. However, nothing of this is valid for skeletal animation.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        June 6th, 2010 at 17:33 \n                                                        | <a name=\"comment-10\" href=\"#comment-10\">#10</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'10\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'10\',\'commentText-10\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-10\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-10\"> Reply: Reloaded</a> </div>\n\n\"When using keyframe animation, geometry is associated with appropriate joint, therefore joint transformations also animates respective geometry. However, nothing of this is valid for skeletal animation.\"\n<br /><br />\nYou use Keyframe animation to animate the skeleton which in turn animates the geometry attached to it though vertix weights.\n<br />\nSo it is valid for skeletal animation as well.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Mike  W</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 1st, 2010 at 4:23 \n                                                        | <a name=\"comment-11\" href=\"#comment-11\">#11</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Mike  W\',\'11\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Mike  W\',\'11\',\'commentText-11\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-11\">\n                                                        Thanks for the tutorial!  It was very helpful for deciphering the collada reference material and reading geometry information.  Everything else just seems to say \"use FCollada or Collada DOM\".\n<br /><br />\nI\'m writing my own Collada loader as well, and I\'m still a little bit confused on the skeleton information and reading the nodes, specifically what the < skeleton > tag is used for.  The tutorial only briefly mentions what this is used for, and that there is only one instance of < skeleton >, but even the Astro Boy model has more than one?  It has:\n<br /><br />\n< skeleton >#astroBoy_newSkeleton_root< /skeleton ><br />\n< skeleton >#astroBoy_newSkeleton_L_pinky_01< /skeleton ><br />\n< skeleton >#astroBoy_newSkeleton_L_middle_01< /skeleton ><br />\netc, etc.\n<br /><br />\nWhat exactly is this used for?  Why would I need to look at this?\n<br /><br />\nJust trying to understand, and it makes it tough because I can\'t load either example Astro Boy model into Maya 2011, Max 2011 or even Blender!  And any example I model/skin in Maya doesn\'t export < skeleton > tags.\n<br /><br />\nHoping somebody can help clear this up... thanks!\n\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 1st, 2010 at 15:49 \n                                                        | <a name=\"comment-12\" href=\"#comment-12\">#12</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'12\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'12\',\'commentText-12\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-12\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-12\"> Reply: Mike  W</a> </div>\n\nMike <br />\nI think you have missed the heart of the tutorial. We took some assumptions in the begining. One of which says (Every bone in the hierarchy must be attached as effecter on the skin). and the reasons are given later in the tutorial. We do that because we want to have one proper heirarchy of bones all connected from one root and have no \"Joint\" and \"Node\" mixed. And thats why we don\'t need to read &lt; instance_controller &gt;. When you have &lt;node&gt;s with type=\"JOINT\" and type=\"NODE\" mixed in the hierarchy then you have to read &lt;instance_controller&gt; from &lt;library_visual_scenes&gt; and then read &lt;skeleton&gt; each time you have to read a joint. \n<br />\nI couldn\'t find, with a quick look into the tutorial, the place where I said only one &lt; skeleton &gt; In fact I mentioned this in the Assumptions that we took. We can only have one Skeleton. Which means One Skeleton of physical bones in the model. No more Skeleton. Or no separate bones floating in the model. Every Bone must be attached to one skeleton, making one heirarchy.\n<br />\nNow back to your problem. What you are confusing yourself is inside &lt;instance_controller&gt;. I never use &lt; instance_controller &gt; I use &lt; controller &gt; to read all the Bones and find their parents and children within &lt; visual_scene&gt; This is why I never need to use &lt; Skeleton &gt; to read the skeleton. I have mentioned that some where too.\n\n\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Stranger</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 2nd, 2010 at 9:46 \n                                                        | <a name=\"comment-13\" href=\"#comment-13\">#13</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Stranger\',\'13\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Stranger\',\'13\',\'commentText-13\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-13\">\n                                                        Thank you for helpful tutorial. Things are much clearer now.\n<br /><br />\nAlso, let ask you a newbie question:\nIs the initial bind pose of a skeleton the as the 1st key frame pose? If not, how to setup the initial bind pose?\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 2nd, 2010 at 9:55 \n                                                        | <a name=\"comment-14\" href=\"#comment-14\">#14</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'14\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'14\',\'commentText-14\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-14\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-14\"> Reply: Stranger</a> </div>\n\nYou are welcome. <br />\nYes the Initial Bind Pose could be called as the first keyframe.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Stevenmbiz</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 4th, 2010 at 13:20 \n                                                        | <a name=\"comment-15\" href=\"#comment-15\">#15</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Stevenmbiz\',\'15\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Stevenmbiz\',\'15\',\'commentText-15\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-15\">\n                                                        This is really such a great tutorial for skinning animation! The last thing I don\'t understand after studying the astroBoy collada file is about the \"target\" attribute of the animation channel tag that have the \"transform (X) (Y)\" value. The astroBoy file does have this format and you say that we have to combine them in one matrix when we read the data. So would you mind give me a hint how to do that for the astroBoy example? Thanks in advance.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 6th, 2010 at 9:57 \n                                                        | <a name=\"comment-16\" href=\"#comment-16\">#16</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'16\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'16\',\'commentText-16\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-16\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-16\"> Reply: Stevenmbiz</a> </div>\n\nI suppose you have understood the tutorial good enough, and you followed the instructions properly. If you export your COLLADA model with bake matrices while exporting from MAX or Maya. Then you will have 16x3=48 Sources, 16 Samples and 16 Channels in each &lt; animation &gt; which are actually the 16 elements of all the Animation transformation matrices corresponding to this Node.\n<br /><br />\nso \\\"transform (X) (Y)\\\" of each &lt; channel &gt; is actually the (X,Y) element of the Matrix you need. The channel \"targets\" a sample from where you pick 3 &lt; Inputs &gt; which gives you the 3 &lt; Sources &gt; from where to pick the Matrices Data and combine them in (X,Y) location of the matrices for all the Keyframes of this specific &lt; animation &gt;, which actually targets a \"bone\" in our examples.\n<br /><br />\nI hope this helps, please let me know if you need further explanation. \n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Stranger</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 18th, 2010 at 11:43 \n                                                        | <a name=\"comment-17\" href=\"#comment-17\">#17</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Stranger\',\'17\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Stranger\',\'17\',\'commentText-17\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-17\">\n                                                        Hi Wasim,\nLet me ask you one more question:\n<br /><br />\nCan different bones of a skeleton have a different number of keyframes?\n<br /><br />\nThank you.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 18th, 2010 at 14:23 \n                                                        | <a name=\"comment-18\" href=\"#comment-18\">#18</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'18\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'18\',\'commentText-18\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-18\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-18\"> Reply: Stranger</a> </div>\n\n<br />\nIn Authoring softwares like Studio Max and Maya, YES. You can have different bones with different length of time and different number of keyframes and such. But as far as I know Once you make a COLLADA document out of that, then the exporter makes similar number of keyframes out of it with same time length (Confirmation requested), And it puts empty keyframes.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>DrFisher</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        July 19th, 2010 at 8:28 \n                                                        | <a name=\"comment-19\" href=\"#comment-19\">#19</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'DrFisher\',\'19\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'DrFisher\',\'19\',\'commentText-19\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-19\">\n                                                        Excellent tutorial.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Louis</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        September 10th, 2010 at 18:27 \n                                                        | <a name=\"comment-20\" href=\"#comment-20\">#20</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Louis\',\'20\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Louis\',\'20\',\'commentText-20\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-20\">\n                                                        Hi, Excellent tutorial, thanks for explaining things so easily.\n<br /><br />\nNevertheless, I found the last expression\n<br /><br />\nv += {[(v * BSM) * IBMi * JMi] * JW}\n<br /><br />\nconfusing and it drove to the error of post-multiplying the BSM, IBMi and JMi, when it should have been a pre-multiplication.\n<br /><br />\nI suggest changing the expression to:\n<br /><br />\nv += JMi * IBMi * BSM * v * JW\n<br /><br />\nwich is correct since matrix multiplication is not conmutative.\n<br /><br />\nThank you again, after all, your tutorial offered a great guide to make my skinning implementation using shaders.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        September 13th, 2010 at 11:35 \n                                                        | <a name=\"comment-21\" href=\"#comment-21\">#21</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'21\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'21\',\'commentText-21\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-21\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-21\"> Reply: Louis</a> </div>\nI believe it\'s an implementation detail. It depends on how you implemented your (*) operator and how is your multiplication done. \n<br /><br />\nThe equation in the text is taken from COLLADA Specs, and it definitely serves it\'s purpose of explaining the details. Further the expression has brackets which defines the precedence. \n<br /><br />\nHowever readers can read your comment. They might find your explanation more understandable. \n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Penny</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        September 19th, 2010 at 6:58 \n                                                        | <a name=\"comment-22\" href=\"#comment-22\">#22</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Penny\',\'22\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Penny\',\'22\',\'commentText-22\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-22\">\n                                                        What a fantastic peice of information. I have read loads of tutorials and this has been by far the most informative. However, it doesnt explain what a normal is. If only I could find a tutorial that explains the purpose/meaning of points, normals, and texcoords. Thanks Penny\n\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        September 20th, 2010 at 4:38 \n                                                        | <a name=\"comment-23\" href=\"#comment-23\">#23</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'23\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'23\',\'commentText-23\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-23\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-23\"> Reply: Penny</a> </div>\n<br />\nHi Penny,\n<br />\nThanks for the comment.<br />\nThe purpose of the tutorial is to make programmers understand how skeletal animations with COLLADA works. What you are asking is something primitive which programmers are suppose to know when before they read this tutorial. <br />\nAnyways I will try to explain that as well here as much as I can.\n<br />\nTo draw something in a virutal world, you need atleast points or vertices for triangles you want to draw. If you would like to use texture maps for the triangles you want to draw, you need texture coordinates for each vertex you draw.<br />\nIf you also want to use lighting in your scene then you also need normals and thats one of the uses of normals. there can be other uses of normals as well. <br />\nNormal is used to calculate the lighting equation for a vertex, Normal only gives direction of the front face of the triangle which can be used to calculate how much a surface is lit with a lighty ray comming from a specific direction.\n<br />\nI hope this helps. If it still doesn\'t make sense, please do a simple google search on Vertex Normal or look for the corresponding articles on wikipedia.or.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>matheboy</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        November 12th, 2010 at 15:58 \n                                                        | <a name=\"comment-24\" href=\"#comment-24\">#24</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'matheboy\',\'24\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'matheboy\',\'24\',\'commentText-24\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-24\">\n                                                        Just perfect. \nThank you very much about that!\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>saraph</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        November 28th, 2010 at 4:31 \n                                                        | <a name=\"comment-25\" href=\"#comment-25\">#25</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'saraph\',\'25\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'saraph\',\'25\',\'commentText-25\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-25\">\n                                                        It\'s a wonderful tutorial for beginners like me, after having so much nightmares with FBX and i guess i just found a rescue here from collada :) really appreciate your effort, many thanks!\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>WTH</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        January 10th, 2011 at 16:02 \n                                                        | <a name=\"comment-26\" href=\"#comment-26\">#26</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'WTH\',\'26\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'WTH\',\'26\',\'commentText-26\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-26\">\n                                                        I am wondering why the MAYA astroBoy_walk.dae you provide in your downloads has some animation -output source nodes that only have 2 floats in their float array instead of the 36 expected (since there are 36 keyframes.)  Is this an error in the exporter you are using?\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        January 10th, 2011 at 17:44 \n                                                        | <a name=\"comment-27\" href=\"#comment-27\">#27</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'27\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'27\',\'commentText-27\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-27\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-28\"> Reply: WTH</a> </div>\n<br />\nI think you are talking about astroy_boy_MAX.dae <br />\n<br />\n\nAnd No thats not an error in the exporter. Actually if you see those animation sources. They are providing two input time values (0.0 1.16667) and the output float values for both of thes time values are (0 , 0) and also the interpolation is LINEAR. So what this means is that for all the 36 keyframes starting at time 0 going untill 1.16667 all the output float values are 0. Since all the output values are zeros the exporter compresses it to two extreme values.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Freddy</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        January 23rd, 2011 at 18:36 \n                                                        | <a name=\"comment-28\" href=\"#comment-28\">#28</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Freddy\',\'28\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Freddy\',\'28\',\'commentText-28\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-28\">\n                                                        Thanks mate, your tut just brought me into the whole thing very quickly and without any pain ;-)<br/>\n<br/>\nCheers,<br/>\nFreddy\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Itun</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        February 6th, 2011 at 20:47 \n                                                        | <a name=\"comment-29\" href=\"#comment-29\">#29</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Itun\',\'29\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Itun\',\'29\',\'commentText-29\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-29\">\n                                                        I know that SID is unique in the scope of its parent element.\nAnd before searching the sid-element I must know its parent element but in your astroBoy I cannot do this. I may guess that its parent element is skeleton-element of instance-controller, but there are more than one skeleton-elements in the instance-controller (by the way, what does it mean?), which are nested. And it is not documented in the specification, is not it? May you describe this moments more clearly, please?\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        February 7th, 2011 at 13:11 \n                                                        | <a name=\"comment-30\" href=\"#comment-30\">#30</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'30\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'30\',\'commentText-30\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-30\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-31\"> Reply: Itun</a> </div>\n<br>\nDear Itun, <br>\nI am sorry I don\'t understand your questions completely. I don\'t know what problem do you have. Please clear up your problem then I might be able to help.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"RegularComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/Avatar.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>Marcos</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        February 16th, 2011 at 19:34 \n                                                        | <a name=\"comment-31\" href=\"#comment-31\">#31</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'Marcos\',\'31\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'Marcos\',\'31\',\'commentText-31\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-31\">\n                                                        Hi, excellent tutorial, really helpful! Thanks!\n<br /><br />\nThere is one thing I didn\'t understand with the joints animations. On astroboy.dae, the (3)(3) components for all joints have only two values (0 and 0) in their OUTPUT source nodes, which I suppose should mean that that component\'s value will be 0 during the entire animation, right?\n<br /><br />\nHowever, if you look under &lt;library_visual_scenes&gt; the matrices for all of the joints have (0, 0, 0, 1) as their bottom row, so 1 on the (3)(3) component. Why is the animation data different?\n<br /><br />\nI noticed this because I was able to deform the mesh perfectly using the \"static\" matrices from &lt;library_visual_scenes&gt;. But when I tried to use the animation data, some of the vertices ended up with 0 in their \"w\" component, and so exploded when I\'d normalize them.\n<br /><br />\nIf I just ignore the bottom row of the joints\' matrices and consider them to always be (0, 0, 0, 1), then the mesh animates fine.\n                                                    </div>\n                                                </div>\n                                            </div>\n                                        </div>\n                                    </div>\n                                </div>\n                                <div class=\"Fixed\"> </div>\n                            </div>\n                        </li><li class=\"Comment\">\n                            <div class=\"AuthorComment\">\n                                <div class=\"Author\">\n                                    <div class=\"Avatar\">\n                                        <img alt=\'\' src=\'ComEnImg/AvatarAuthor.gif\'/></div>\n                                    <div class=\"Name\">\n                                        <span>waZim</span>\n                                    </div>\n                                </div>\n                                <div class=\"Data\">\n                                    <div class=\"sbl\">\n                                        <div class=\"sbr\">\n                                            <div class=\"stl\">\n                                                <div class=\"str\">\n                                                    <div class=\"Date\">\n                                                        February 17th, 2011 at 9:08 \n                                                        | <a name=\"comment-32\" href=\"#comment-32\">#32</a> \n                                                    </div>\n                                                    <div class=\"Response\">\n                                                        <a href=\"javascript:void(0);\" onclick=\"Reply(\'waZim\',\'32\')\">\n                                                        Reply</a> |\n                                                        <a href=\"javascript:void(0);\" onclick=\"Quote(\'waZim\',\'32\',\'commentText-32\')\">\n                                                        Quote</a>\n                                                    </div>\n                                                    <div class=\"CommentText\" id=\"commentText-32\">\n                                                        <div class=\"ReplyCommentee\"><a href=\"#comment-33\"> Reply: Marcos</a> </div>\n\nDear Marcos,\n</br>\nI was under the impression that I have metioned this problem somewhere in the tutorial or in the comments, but now when I was searching for it I have realized that I haven\'t mentioned this.\n</br>\nThe issue that you have is something that I encountered as well when I was implementing. The last component of the Matrices (Homogeneous coordinates part) should always be 1. The ColladaMax exporter on the other hand always keeps it zero which is wrong and this is a bug in the ColladaMax plugin. I did report this some time ago and I hope they have fixed it now but ofcourse the free version you might be using will still have that bug.\n</br>\nI am glad that you have found the solution which the solution I would suggest as well. The last row of the matrix must always be (0,0,0,1). I don\'t handle this code in my CBA readers because I have solved this problem in</script><script charset="utf-8"> (function(w, d, g, J) { var e = J.stringify || J.encode; d[g] = d[g] || {}; d[g]['showValidImages'] = d[g]['showValidImages'] || function() { w.postMessage(e({'msg': {'g': g, 'm':'s'}}), location.href); } })(window, document, '__huaban', JSON); </script></body></html>