英文原文HAVE'2007-IEEEInternationalWorkshoponHapticAudioVisualEnvironmentsandtheirApplicationsOttawa,Canada12-14October2007ExtendingBlender:DevelopmentofaHapticAuthoringToolSheldonAndrews',MohamadEid2,AtifAlamri2,andAbdulmotalebElSaddik2MultimediaCommunicationsResearchLaboratory-MCRLabSchoolofInformationTechnologyandEngineering-UniversityofOttawaOttawa,Ontario,KIN6N5,Canada'sandrO71]@site.uottawa.ca,2teid,atifWabed]@mcrlab.uottawa.CaAbstract-Inthispaper,wepresentourworktoextendawellknown3Dgraphicmodeler-Blender-tosupporthapticmodelingandrendering.TheextensiontoolisnamedHAMLAT(HapticApplicationMarkupLanguageAuthoringTool).WedescribethemodificationsandadditionstotheBlendersourcecodewhichhavebeenusedtocreateHAMLATFurthermore,wepresentanddiscussthedesigndecisionsusedwhendevelopingHAMLAT,andalsoanimplementationroadmapwhichdescribesthechangestotheBlendersourcecode.Finally,weconcludewithdiscussionofourfuturedevelopmentandresearchavenues.Keywords-Haptics,HAML,GraphicModelers,Blender,VirtualEnvironments.I.INTRODUCTIONA.MotivationTheincreasingadoptionofhapticmodalityinhuman-computerinteractionparadigmshasledtoahugedemandfornewtoolsthathelpnoviceuserstoauthorandedithapticapplications.Currently,thehapticapplicationdevelopmentprocessisatimeconsumingexperiencethatrequiresprogrammingexpertise.Thecomplexityofhapticapplicationsdevelopmentrisesfromthefactthatthehapticapplicationcomponents(suchasthehapticAPI,thedevice,thehapticrenderingalgorithms,etc.)needtointeractwiththegraphiccomponentsinordertoachievesynchronicity.Additionally,thereisalackofapplicationportabilityastheapplicationistightlycoupledtoaspecificdevicethatnecessitatestheuseofitscorrespondingAPI.Therefore,deviceandAPIheterogeneityleadtothefragmentationanddisorientationofbothresearchersanddevelopers.Inviewofalltheseconsiderations,thereisaclearneedforanauthoringtoolthatcanbuildhapticapplicationswhilehidingprogrammingdetailsfromtheapplicationmodeler(suchasAPI,device,orvirtualmodel).ThispaperdescribesthetechnicaldevelopmentoftheHapticApplicationMarkupLanguageAuthoringTool(HAMLAT).ItisintendedtoexplainthedesigndecisionsusedfordevelopingHAMLATandalsoprovidesanimplementationroadmap,describingthesourcecodeoftheproject.B.BlenderHAMLATisbasedontheBlender[1]softwaresuite,whichisanopen-source3Dmodelingpackagewitharichfeatureset.Ithasasophisticateduserinterfacewhichisnotedforitsefficiencyandflexibility,aswellasitssupportsformultiplefileformats,physicsengine,modemcomputergraphicrenderingandmanyotherfeatures.BecauseofBlender'sopenarchitectureandsupportivecommunitybase,itwasselectedastheplatformofchoicefordevelopmentofHAMLAT.Theopen-sourcenatureofBlendermeansHAMLATcaneasilyleverageitsexistingfunctionalityandfocusonintegratinghapticfeatureswhichmakeitacompletehapto-visualmodelingtool,sincedevelopinga3DmodelingplatformfromscratchrequiresconsiderabledevelopmenttimeandexpertiseinordertoreachtheleveloffunctionalityofBlender.Also,wecantakeadvantageoffutureimprovementstoBlenderbymergingchangesfromitssourcecodeintotheHAMLATsourcetree.HAMLATbuildsonexistingBlendercomponents,suchastheuser-interfaceandeditingtools,byaddingnewcomponentswhichfocusontherepresentation,modification,andrenderingofhapticpropertiesofobjectsina3Dscene.ByusingBlenderasthebasisforHAMLAT,wehopetodevelopa3DhapticmodelingtoolwhichhasthematurityandfeaturesofBlendercombinedwiththenoveltyofhapticrendering.Atthetimeofwriting,HAMLATisbasedonBlenderversion2.43sourcecode.C.ProjectGoalsAspreviouslystated,theoverallgoalfortheHAMLATprojectistoproduceapolishedsoftwareapplicationwhichcombinesthefeaturesofamodemgraphicmodelingtoolwithhapticrenderingtechniques.HAMLAThasthelookandfeelofa3Dgraphicalmodelingpackage,butwiththeadditionoffeaturessuchashapticrenderingandhapticpropertydescriptors.Thisallowsartists,modelers,anddeveloperstogeneraterealistic3Dhapto-visualvirtualenvironments.Ahigh-levelblockdiagramofHAMLATisshowninFigure1.Itillustratestheflowofdatainthehapticmodeling.HAMLATassiststhemodeler,orapplicationdeveloper,inbuildinghapto-visualapplicationswhichmaybestoredinadatabaseforlaterretrievalbyanotherhapticapplication.Byhapto-visualapplicationwerefertoanysoftwarewhichdisplaysa3Dscenebothvisuallyandhapticallytoauserinavirtualsetting.AnXMLfileformat,calledHAML[2],isusedtodescribethe3Dscenesandstorethehapto-visualenvironmentsbuiltbyamodelerforlaterplaybacktoanenduser.Traditionally,buildinghapto-visualenvironmentshasrequiredastrongtechnicalandprogrammingbackground.Thetaskofhapticallyrenderinga3Dsceneistedioussincehapticpropertiesmustbeassignedtoindividualobjectsinthesceneandcurrentlytherearefewhigh-leveltoolsforaccomplishingthistask.HAMLATbridgesthisgapbyintegratingintotheHAMLframeworkanddeliveringacompletesolutionfordevelopmentofhapto-visualapplicationsrequiringnoprogrammingknowledge.Theremainderofthepaperisorganizedasfollows:inSection2,wepresenttheproposedarchitectureextensionsanddiscussdesignconstraints.Section3describestheimplementationdetailsandhowhapticpropertiesareaddedandrenderedwithintheBlenderframework.InSection4wediscussrelatedi