GRAPHICS AND RENDERINGThe Open Game Engine Exchange FormatEric LengyelIntroductionOpenDDLScene StructureObject DataAnimationReferencesRealistic Blending of Skies, Water, and TerrainFrank KaneThe ProblemBlending Terrain with the SkyApplying Visibility Effects to Distant CloudsCreating Realistic Ocean HorizonsPutting It All TogetherReferencesFog with a Linear Density FunctionEric LengyelIntroductionFog Factor CalculationVisibility CullingReferencesVegetation Management in Leadwerks Game Engine 4Josh KlintIntroductionThe ProblemThe IdeaCullingRenderingLevel of DetailPhysicsFuture DevelopmentReferencesSmooth Horizon MappingEric LengyelIntroductionHorizon Map GenerationRendering with Horizon MapsReferencesBuffer-Free Generation of Triangle Strip Cube VerticesDon WilliamsonIntroductionGeneration Cube VerticesWireframe CubesEdge-Preserving Smoothing Filter for Particle Based RenderingKin-Ming Wong and Tien-Tsin WongIntroductionGuided Image FilteringGLSL ImplementationResults and PerformanceAcknowledgementsReferencesVariable Precision Pixel Shading for Improved Power EfficiencyRahul P. SatheIntroduction and BackgroundAlgorithmResultsDiscussionAcknowledgementsReferencesA Fast and High-Quality Texture Atlasing AlgorithmManny KoIntroductionBackgroundChart SegmentationAtlas PackingAtlas-Aware FilteringAcknowledgementsReferencesPHYSICSRotational Joint Limits in Quaternion SpaceGino van den BergenIntroduction3D RotationsUnit QuaternionsQuaternions vs. Exponential MapSwing-Twist LimitsVolumetric LimitsReferencesVolumetric Hierarchical Approximate Convex DecompositionKhaled MamouIntroductionConvex ApproximationVolumetric Hierarchical Approximate Convex DecompositionReferencesSimulating Soft Bodies Using Strain Based DynamicsMuhammad Mobeen MovaniaIntroductionPosition Based DynamicsStrain Based DynamicsImplementation DetailsImplementing Cloth SimulationImplementing Tetrahedral Mesh SimulationBarycentric InterpolationExperimental EvaluationFuture WorkReferencesGENERAL PROGRAMMINGGeneric, Lightweight, and Fast Delegates in C++Stefan ReinalterBackgroundThe Delegate TechniqueToward a Generic SolutionEmbracing C++11ExtensionsSource CodeCompile–Time String Hashing in C++Stefan ReinalterBackgroundThe Hash TechniqueToward a Generic Hash FunctionImplementation NotesSource CodeStatic Reflection in C++ Using TuplesNicolas GuillemotRethinking Composition Using TuplesRecursive Member IterationPractical ConcernsPortable SIMD Programs Using ISPCNicolas Guillemot and Marc Fauconneau DufresneThe ProblemISPC BasicsISPC Example ProgramsIntegration in a Game EngineTips & TricksReferencesShared Network Arrays as an Abstraction of Network Code from Game Code LogicJoão Lucas Guberman RazaIntroductionHow SNAs WorkHow a Gameplay Programmer Uses SNAsHow a Network Programmer Uses SNAsFurther DiscussionReferencesCHARACTER CONTROL AND ARTIFICIAL INTELLIGENCEVision Based Local Collision AvoidanceTeófilo Bezerra Dutra, Ricardo Marques, Julien Pettré, and Jan OndrejIntroductionLocal Path Planning in GamesVision Based Obstacle AvoidancePurely Reactive TechniqueGradient Based TechniqueFinal ConsiderationsAcknowledgementsReferencesA Programming Framework for Autonomous NPCsArtur de Oliveira da Rocha Franco, José Gilvan Rodrigues Maia, and Fernando Antonio de Carvalho GomesIntroductionCordéIS OverviewImplementing CordéIS for Electronic RPGsAbout the DemoReferencesBeyond Smart Objects: Behavior-Oriented Programming for NPCs in Large Open WorldsMartin Cerný, Tomáš Plch, and Cyril BromIntroductionA Little Bit of ContextBehavior ObjectsIntegration Within an AI SystemImplementation in Kingdom Come: DeliveranceLessons LearnedAcknowledgementsReferencesA Control System for Enhancing Entity BehaviorMike RamseyController BasicsPID ImplementationUse Cases and Strategies for a PID ControllerReferencesA Control System Based Approach to Entity BehaviorMike RamseyA Single Control SystemHierarchical Control System BasicsA Hierarchical Control System for FollowingReferences