This document discusses techniques for making 3D games with Molehill, including:
- Using dual quaternions for character animation to allow more bones within shader constant limits.
- The Frima 3D file format which optimizes size and processing for Molehill games.
- Texturing using compressed Adobe Texture Format files.
- Dividing particle system work between CPU and GPU for better performance.
- Fake volumetric lights and projected shadows to simulate more advanced lighting.
- Profiling tools like Pix and Intel GPA for debugging GPU performance bottlenecks.
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
Download the full presentation here: http://www.guerrilla-games.com/read/decima-engine-visibility-in-horizon-zero-dawn
Abstract: Horizon Zero Dawn presented the Decima engine with new challenges in rendering large and dense environments. In particular, we needed to be able to quickly query a very large set of potential objects to find which should be visible. This talk looks at the problems we faced moving from more constrained Killzone levels to Horizon's open world, and our approach to fast visibility queries using the PS4's asynchronous compute hardware. It also covers our recent work on efficiently collecting batches of object instances during the query to reduce load on the entire rendering pipeline. A basic familiarity with GPU compute will be helpful to get the most out of this talk.
Presentation by Andrew Hamilton and Ken Brown from DICE at GDC 2016.
Photogrammetry has started to gain steam within the Games Industry in recent years. At DICE, this technique was first used on Battlefield and they fully embraced the technology and workflow for Star Wars: Battlefront. This talk will cover their research and development, planning and production, techniques, key takeaways and plans for the future. The speakers will cover photogrammetry as a technology, but more than that, show that it's not a magic bullet but instead a tool like any other that can be used to help achieve your artistic vision and craft.
Takeaway
Come and learn how (and why) photogrammetry was used to create the world of Star Wars. This talk will cover Battlefront's use of of the technology from pre-production to launch as well as some of their philosophies around photogrammetry as a tool. Many visuals will be included!
Intended Audience
A content creator friendly talk intended for pretty much any developer, especially those involved in 3D content creation. It is not a technical talk focused on the code or engineering of photogrammetry. The speakers will quickly cover all basics, so absolutely no prerequisite knowledge required.
This document discusses the history and architecture of 3D game engines. It covers engines from id Software like RAGE and id Tech, as well as Unreal Engine. It describes the core components of a 3D game engine including scene management, rendering modules, and material systems. It also discusses cross-platform solutions, techniques for minimizing draw calls, and specific technologies like parallel-split shadow maps and deferred rendering. The presentation concludes with a discussion of Unity and questions from the audience.
The document discusses various challenges and solutions related to developing cross-platform games for iOS and Android. It covers differences in GPU architectures between platforms, techniques for handling different screen resolutions and texture formats, approaches for optimizing shaders, and strategies for minimizing overhead from the OpenGL ES 2.0 API. The document provides recommendations for areas like sorting geometry, using shader permutations, offloading work to the CPU, and leveraging new capabilities in OpenGL ES 3.0.
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
The document describes terrain rendering techniques used in the Frostbite engine, including procedural shader splatting to allow dynamic material changes, graph-based shaders for flexibility, and techniques for multi-resolution rendering, masking, and adding detail like undergrowth vegetation through procedural generation.
Talk by Graham Wihlidal (Frostbite Labs) at GDC 2017.
Checkerboard rendering is a relatively new technique, popularized recently by the introduction of the PlayStation 4 Pro. Many modern game engines are adding support for it right now, and in this talk, Graham will present an in-depth look at the new implementation in Frostbite, which is used in shipping titles like 'Battlefield 1' and 'Mass Effect Andromeda'. Despite being conceptually simple, checkerboard rendering requires a deep integration into the post-processing chain, in particular temporal anti-aliasing, dynamic resolution scaling, and poses various challenges to existing effects. This presentation will cover the basics of checkerboard rendering, explain the impact on a game engine that powers a wide range of titles, and provide a detailed look at how the current implementation in Frostbite works, including topics like object id, alpha unrolling, gradient adjust, and a highly efficient depth resolve.
Decima Engine: Visibility in Horizon Zero DawnGuerrilla
Download the full presentation here: http://www.guerrilla-games.com/read/decima-engine-visibility-in-horizon-zero-dawn
Abstract: Horizon Zero Dawn presented the Decima engine with new challenges in rendering large and dense environments. In particular, we needed to be able to quickly query a very large set of potential objects to find which should be visible. This talk looks at the problems we faced moving from more constrained Killzone levels to Horizon's open world, and our approach to fast visibility queries using the PS4's asynchronous compute hardware. It also covers our recent work on efficiently collecting batches of object instances during the query to reduce load on the entire rendering pipeline. A basic familiarity with GPU compute will be helpful to get the most out of this talk.
Presentation by Andrew Hamilton and Ken Brown from DICE at GDC 2016.
Photogrammetry has started to gain steam within the Games Industry in recent years. At DICE, this technique was first used on Battlefield and they fully embraced the technology and workflow for Star Wars: Battlefront. This talk will cover their research and development, planning and production, techniques, key takeaways and plans for the future. The speakers will cover photogrammetry as a technology, but more than that, show that it's not a magic bullet but instead a tool like any other that can be used to help achieve your artistic vision and craft.
Takeaway
Come and learn how (and why) photogrammetry was used to create the world of Star Wars. This talk will cover Battlefront's use of of the technology from pre-production to launch as well as some of their philosophies around photogrammetry as a tool. Many visuals will be included!
Intended Audience
A content creator friendly talk intended for pretty much any developer, especially those involved in 3D content creation. It is not a technical talk focused on the code or engineering of photogrammetry. The speakers will quickly cover all basics, so absolutely no prerequisite knowledge required.
This document discusses the history and architecture of 3D game engines. It covers engines from id Software like RAGE and id Tech, as well as Unreal Engine. It describes the core components of a 3D game engine including scene management, rendering modules, and material systems. It also discusses cross-platform solutions, techniques for minimizing draw calls, and specific technologies like parallel-split shadow maps and deferred rendering. The presentation concludes with a discussion of Unity and questions from the audience.
The document discusses various challenges and solutions related to developing cross-platform games for iOS and Android. It covers differences in GPU architectures between platforms, techniques for handling different screen resolutions and texture formats, approaches for optimizing shaders, and strategies for minimizing overhead from the OpenGL ES 2.0 API. The document provides recommendations for areas like sorting geometry, using shader permutations, offloading work to the CPU, and leveraging new capabilities in OpenGL ES 3.0.
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
The document describes terrain rendering techniques used in the Frostbite engine, including procedural shader splatting to allow dynamic material changes, graph-based shaders for flexibility, and techniques for multi-resolution rendering, masking, and adding detail like undergrowth vegetation through procedural generation.
Talk by Graham Wihlidal (Frostbite Labs) at GDC 2017.
Checkerboard rendering is a relatively new technique, popularized recently by the introduction of the PlayStation 4 Pro. Many modern game engines are adding support for it right now, and in this talk, Graham will present an in-depth look at the new implementation in Frostbite, which is used in shipping titles like 'Battlefield 1' and 'Mass Effect Andromeda'. Despite being conceptually simple, checkerboard rendering requires a deep integration into the post-processing chain, in particular temporal anti-aliasing, dynamic resolution scaling, and poses various challenges to existing effects. This presentation will cover the basics of checkerboard rendering, explain the impact on a game engine that powers a wide range of titles, and provide a detailed look at how the current implementation in Frostbite works, including topics like object id, alpha unrolling, gradient adjust, and a highly efficient depth resolve.
The document discusses the Unity rendering pipeline and provides tips for optimizing shaders and rendering in Unity. Some key points:
- The Unity rendering pipeline is very flexible but can be difficult to configure for specific needs and targets.
- Built-in shaders are good for standard lighting models but not for stylized games or maximum performance. Custom shaders may be faster.
- Shader combinations allow using keywords to control shader variants. Material keywords make this configurable per object.
- Lit shader replacement and tags allow swapping shaders at runtime while keeping material properties.
- DX11 features like tessellation, random writes, and volume textures provide more flexibility but require custom shaders.
Mantle is a new low-level graphics API from EA that aims to simplify advanced game development and improve performance. It provides developers with more control over the GPU for optimizations. Mantle exposes the true capabilities of modern graphics hardware in a way that is accessible to developers. This allows for innovations like improved multi-GPU support, explicit resource management, and asynchronous compute. Mantle promises benefits like reduced driver overhead, better multi-threading, and more flexibility to optimize for all GPUs. EA sees Mantle driving future Frostbite engine designs by enabling new rendering techniques and optimizations.
Use a game engine to create a video game. Its reusable components provide the general functionality. Define resources and building blocks.
What are the key elements of a game engine?
This expert session dives deep into customization, experimentation, and complex use-cases that leverage Unity's cinematic and post-processing tools for games and film. Brand new features will also be covered, such as the Impulse Camera-Shake system, the Event module, and ClearShot improvements. Note for attendees: strong grasp of C# and/or familiarity with Timeline and Cinemachine recommended.
Adam Myhill
Ciro Continisio (Unity Technologies)
Authoring of procedural rocks in The Blacksmith realtime shortVesselin Efremov
This talk provides an overview of common approaches to authoring procedural environments in games. It then describes the pipeline used to author rock formations for the short film "The Blacksmith" in 3 sentences or less:
A) Unique objects were created using procedural generation tools, exported, cleaned up, and had textures projected to create normal maps and albedos, then detailed in Substance Painter.
B) For backdrop objects, height maps from Terragen were made tileable and used to displace basic shapes in 3DS Max, which were optimized and given procedurally mixed textures for variation.
The method aimed to create natural-looking detailed objects efficiently without extensive modeling and allowed reuse across different environment types for different
Presentation Video : http://tinyurl.com/pfhz96m
Stage 3D introduction in Adobe Flash Player and Adobe AIR lets you use techniques such as deferred lighting, screen space dynamic shadow, MRT, and more through vertex and fragment shaders. Join Jean-Philippe Doiron, Principal Architect R&D at Frima Studio, and Jean-Philippe Auclair, R&D Architect, for a deep dive into GPU programming with the new Flash Player, and discover how to produce beautiful GPU effects that are reusable in your games and applications.
Optimizing Unity games for mobile devicesBruno Cicanci
Optimizing Looney Tunes WoM for mobile devices. The document discusses optimization techniques for memory, CPU, and best practices for mobile games. It provides an overview of the game studio Aquiris and their work optimizing Looney Tunes: World of Mayhem. Profiling tools like the Unity Profiler and Instruments are recommended to identify issues like unused assets taking up memory, uncompressed textures, and loading too many objects at once. Suggested optimizations include asset budgeting, caching frequently used data, keeping draw calls low, and prioritizing tests on low-end devices.
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
Global illumination (GI) has been an ongoing quest in games. The perpetual tug-of-war between visual quality and performance often forces developers to take the latest and greatest from academia and tailor it to push the boundaries of what has been realized in a game product. Many elements need to align for success, including image quality, performance, scalability, interactivity, ease of use, as well as game-specific and production challenges.
First we will paint a picture of the current state of global illumination in games, addressing how the state of the union compares to the latest and greatest research. We will then explore various GI challenges that game teams face from the art, engineering, pipelines and production perspective. The games industry lacks an ideal solution, so the goal here is to raise awareness by being transparent about the real problems in the field. Finally, we will talk about the future. This will be a call to arms, with the objective of uniting game developers and researchers on the same quest to evolve global illumination in games from being mostly static, or sometimes perceptually real-time, to fully real-time.
This presentation was given at SIGGRAPH 2017 by Colin Barré-Brisebois (EA SEED) as part of the Open Problems in Real-Time Rendering course.
The document provides an overview of graphics pipelines. It discusses the basic graphics pipeline which includes 3D scene, vertex fetching, vertex processing, scan conversion, pixel processing, and raster operations. It then discusses modern graphics pipelines which use programmable shaders and unified shader architectures. It also discusses moving beyond traditional pipelining through parallelism approaches like SIMD, SIMT, and MIMD. Future trends may involve more MIMD approaches and programming models similar to SPU programming. This could enable more complex data structures, algorithms, lighting approaches, and rasterization techniques.
4,000 Adams at 90 Frames Per Second | Yi Fei BoonJessica Tams
Delivered at Casual Connect Asia 2017. This session will offer the steps and explanation of techniques used to create, manage and render a large crowd in a game without killing the performance. It will cover instancing, baking of animations into textures, and skinning on GPU in the vertex shaders.
The Next Generation of PhyreEngine aims to target the NGP, PS3, and PC. It provides an upgraded renderer, improved tool integration, and a new data-oriented object model. A key focus is the deferred lighting solution implemented on SPU for PS3, which is now extended to the NGP. The presentation demonstrates the engine's rendering techniques like deferred shading, MLAA, and particles on different platforms. Porting to NGP required moving tasks like skinning and scene traversal to the CPU while optimizing meshes, textures, and shaders for the NGP's GPU.
Presentation at KGC2012 about the Architecture and Optimization techniques used to make the Relic FX System as used in the Company of Heroes and Dawn Of War Series, and many other Relic Games.
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Unity Technologies
From asset creation and placement to lighting and rendering, this talk explores how Unity's demo team used techniques like photogrammetry and post-processing volumes to accomplish a major feat: Building a realistic forest setting with a high level of detail that supports crucial story beats.
Creating cluster 'mycluster' with the following settings:
- Master node: m1.small using ami-fce3c696
- Number of nodes: 1
- Node type: m1.small
- Node AMI: ami-fce3c696
- Storage: EBS volume of size 10 GB
- Security group: mycluster-sg allowing SSH from anywhere
Launching instances...
This may take a few minutes. You can check progress with 'starcluster list'.
When instances have started, SSH will be automatically configured.
You can now ssh to the master with:
starcluster ssh mycluster
Have fun and please let us know if you have
The document describes a workshop on using imagery in ArcGIS. The workshop covered topics like adding images as attributes and attachments in ArcGIS, working with single raster files and raster datasets in geodatabases, mosaic datasets, and image services. It also demonstrated how to optimize raster display, use the image analysis window, work with raster properties and compression, and cache image services.
Bringing AAA graphics to mobile platforms
This document discusses techniques for bringing console-level graphics to mobile platforms using tile-based deferred rendering GPUs common in smartphones and tablets. It provides an overview of the architecture of tile-based mobile GPUs like ImgTec SGX and how they process vertices and pixels in tiles. It then discusses optimizations for mobile like using multi-sample anti-aliasing to reduce memory usage, form-fitting alpha blended geometry, and avoiding buffer restores and resolves. Specific rendering techniques like god rays and character shadows are explained.
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
This document summarizes a conference about targeting Flash/Stage3D with C++ and GLSL. It discusses new features added to Minko, including user data, improved Collada loading, and new tutorial videos. It also previews the next major version of Minko called "Normandie", which will target new platforms using C++ and improve performance. Technological choices like C++ 2011, Crossbridge, Premake, and GLSL are explained. The challenges of shader programming, cross-platform shaders, and multi-pass effects are also covered.
How can we use Adobe Flash Stage 3D to make a multiplayer game on multiple devices using the same codebase?
This session will detail the challenges encountered when attempting to maintain high performance specifications on mobile devices and the guidelines used to succeed.
We will talk about the required production pipeline, provide performance tips and techniques, provide guidelines for deploying and debugging on iOS and Android and give an overview of the process, from start to finish
Who has not heard of Skylanders, LEGO Dimension, the new talking Barbie or Disney Playmation? In this talk we'll show you how Unity helped us make some cool connected toy experiences. From debugging the hardware to creating new smart toy interactions, we wanted something flexible enough. Unity was a great fit and we'll show you how.
https://www.youtube.com/watch?v=ywCE6jcy2rU
Mastering Multiplayer Stage3d and AIR game development for mobile devicesJean-Philippe Doiron
Video Presentation : http://tv.adobe.com/watch/max-2013/mastering-multiplayer-stage3d-and-air-game-development-for-mobile-devices/
• The use of Stage3D across web and mobile deployments (with Adobe AIR) .
• The challenges encountered when attempting to maintain high-performance specifications on mobile devices .
• Being agile in a pre production game development
• We'll show how we have jump our of the predefined sandbox to develop creative solution on well known problem.
The document discusses the Unity rendering pipeline and provides tips for optimizing shaders and rendering in Unity. Some key points:
- The Unity rendering pipeline is very flexible but can be difficult to configure for specific needs and targets.
- Built-in shaders are good for standard lighting models but not for stylized games or maximum performance. Custom shaders may be faster.
- Shader combinations allow using keywords to control shader variants. Material keywords make this configurable per object.
- Lit shader replacement and tags allow swapping shaders at runtime while keeping material properties.
- DX11 features like tessellation, random writes, and volume textures provide more flexibility but require custom shaders.
Mantle is a new low-level graphics API from EA that aims to simplify advanced game development and improve performance. It provides developers with more control over the GPU for optimizations. Mantle exposes the true capabilities of modern graphics hardware in a way that is accessible to developers. This allows for innovations like improved multi-GPU support, explicit resource management, and asynchronous compute. Mantle promises benefits like reduced driver overhead, better multi-threading, and more flexibility to optimize for all GPUs. EA sees Mantle driving future Frostbite engine designs by enabling new rendering techniques and optimizations.
Use a game engine to create a video game. Its reusable components provide the general functionality. Define resources and building blocks.
What are the key elements of a game engine?
This expert session dives deep into customization, experimentation, and complex use-cases that leverage Unity's cinematic and post-processing tools for games and film. Brand new features will also be covered, such as the Impulse Camera-Shake system, the Event module, and ClearShot improvements. Note for attendees: strong grasp of C# and/or familiarity with Timeline and Cinemachine recommended.
Adam Myhill
Ciro Continisio (Unity Technologies)
Authoring of procedural rocks in The Blacksmith realtime shortVesselin Efremov
This talk provides an overview of common approaches to authoring procedural environments in games. It then describes the pipeline used to author rock formations for the short film "The Blacksmith" in 3 sentences or less:
A) Unique objects were created using procedural generation tools, exported, cleaned up, and had textures projected to create normal maps and albedos, then detailed in Substance Painter.
B) For backdrop objects, height maps from Terragen were made tileable and used to displace basic shapes in 3DS Max, which were optimized and given procedurally mixed textures for variation.
The method aimed to create natural-looking detailed objects efficiently without extensive modeling and allowed reuse across different environment types for different
Presentation Video : http://tinyurl.com/pfhz96m
Stage 3D introduction in Adobe Flash Player and Adobe AIR lets you use techniques such as deferred lighting, screen space dynamic shadow, MRT, and more through vertex and fragment shaders. Join Jean-Philippe Doiron, Principal Architect R&D at Frima Studio, and Jean-Philippe Auclair, R&D Architect, for a deep dive into GPU programming with the new Flash Player, and discover how to produce beautiful GPU effects that are reusable in your games and applications.
Optimizing Unity games for mobile devicesBruno Cicanci
Optimizing Looney Tunes WoM for mobile devices. The document discusses optimization techniques for memory, CPU, and best practices for mobile games. It provides an overview of the game studio Aquiris and their work optimizing Looney Tunes: World of Mayhem. Profiling tools like the Unity Profiler and Instruments are recommended to identify issues like unused assets taking up memory, uncompressed textures, and loading too many objects at once. Suggested optimizations include asset budgeting, caching frequently used data, keeping draw calls low, and prioritizing tests on low-end devices.
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
Global illumination (GI) has been an ongoing quest in games. The perpetual tug-of-war between visual quality and performance often forces developers to take the latest and greatest from academia and tailor it to push the boundaries of what has been realized in a game product. Many elements need to align for success, including image quality, performance, scalability, interactivity, ease of use, as well as game-specific and production challenges.
First we will paint a picture of the current state of global illumination in games, addressing how the state of the union compares to the latest and greatest research. We will then explore various GI challenges that game teams face from the art, engineering, pipelines and production perspective. The games industry lacks an ideal solution, so the goal here is to raise awareness by being transparent about the real problems in the field. Finally, we will talk about the future. This will be a call to arms, with the objective of uniting game developers and researchers on the same quest to evolve global illumination in games from being mostly static, or sometimes perceptually real-time, to fully real-time.
This presentation was given at SIGGRAPH 2017 by Colin Barré-Brisebois (EA SEED) as part of the Open Problems in Real-Time Rendering course.
The document provides an overview of graphics pipelines. It discusses the basic graphics pipeline which includes 3D scene, vertex fetching, vertex processing, scan conversion, pixel processing, and raster operations. It then discusses modern graphics pipelines which use programmable shaders and unified shader architectures. It also discusses moving beyond traditional pipelining through parallelism approaches like SIMD, SIMT, and MIMD. Future trends may involve more MIMD approaches and programming models similar to SPU programming. This could enable more complex data structures, algorithms, lighting approaches, and rasterization techniques.
4,000 Adams at 90 Frames Per Second | Yi Fei BoonJessica Tams
Delivered at Casual Connect Asia 2017. This session will offer the steps and explanation of techniques used to create, manage and render a large crowd in a game without killing the performance. It will cover instancing, baking of animations into textures, and skinning on GPU in the vertex shaders.
The Next Generation of PhyreEngine aims to target the NGP, PS3, and PC. It provides an upgraded renderer, improved tool integration, and a new data-oriented object model. A key focus is the deferred lighting solution implemented on SPU for PS3, which is now extended to the NGP. The presentation demonstrates the engine's rendering techniques like deferred shading, MLAA, and particles on different platforms. Porting to NGP required moving tasks like skinning and scene traversal to the CPU while optimizing meshes, textures, and shaders for the NGP's GPU.
Presentation at KGC2012 about the Architecture and Optimization techniques used to make the Relic FX System as used in the Company of Heroes and Dawn Of War Series, and many other Relic Games.
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Unity Technologies
From asset creation and placement to lighting and rendering, this talk explores how Unity's demo team used techniques like photogrammetry and post-processing volumes to accomplish a major feat: Building a realistic forest setting with a high level of detail that supports crucial story beats.
Creating cluster 'mycluster' with the following settings:
- Master node: m1.small using ami-fce3c696
- Number of nodes: 1
- Node type: m1.small
- Node AMI: ami-fce3c696
- Storage: EBS volume of size 10 GB
- Security group: mycluster-sg allowing SSH from anywhere
Launching instances...
This may take a few minutes. You can check progress with 'starcluster list'.
When instances have started, SSH will be automatically configured.
You can now ssh to the master with:
starcluster ssh mycluster
Have fun and please let us know if you have
The document describes a workshop on using imagery in ArcGIS. The workshop covered topics like adding images as attributes and attachments in ArcGIS, working with single raster files and raster datasets in geodatabases, mosaic datasets, and image services. It also demonstrated how to optimize raster display, use the image analysis window, work with raster properties and compression, and cache image services.
Bringing AAA graphics to mobile platforms
This document discusses techniques for bringing console-level graphics to mobile platforms using tile-based deferred rendering GPUs common in smartphones and tablets. It provides an overview of the architecture of tile-based mobile GPUs like ImgTec SGX and how they process vertices and pixels in tiles. It then discusses optimizations for mobile like using multi-sample anti-aliasing to reduce memory usage, form-fitting alpha blended geometry, and avoiding buffer restores and resolves. Specific rendering techniques like god rays and character shadows are explained.
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
This document summarizes a conference about targeting Flash/Stage3D with C++ and GLSL. It discusses new features added to Minko, including user data, improved Collada loading, and new tutorial videos. It also previews the next major version of Minko called "Normandie", which will target new platforms using C++ and improve performance. Technological choices like C++ 2011, Crossbridge, Premake, and GLSL are explained. The challenges of shader programming, cross-platform shaders, and multi-pass effects are also covered.
How can we use Adobe Flash Stage 3D to make a multiplayer game on multiple devices using the same codebase?
This session will detail the challenges encountered when attempting to maintain high performance specifications on mobile devices and the guidelines used to succeed.
We will talk about the required production pipeline, provide performance tips and techniques, provide guidelines for deploying and debugging on iOS and Android and give an overview of the process, from start to finish
Who has not heard of Skylanders, LEGO Dimension, the new talking Barbie or Disney Playmation? In this talk we'll show you how Unity helped us make some cool connected toy experiences. From debugging the hardware to creating new smart toy interactions, we wanted something flexible enough. Unity was a great fit and we'll show you how.
https://www.youtube.com/watch?v=ywCE6jcy2rU
Mastering Multiplayer Stage3d and AIR game development for mobile devicesJean-Philippe Doiron
Video Presentation : http://tv.adobe.com/watch/max-2013/mastering-multiplayer-stage3d-and-air-game-development-for-mobile-devices/
• The use of Stage3D across web and mobile deployments (with Adobe AIR) .
• The challenges encountered when attempting to maintain high-performance specifications on mobile devices .
• Being agile in a pre production game development
• We'll show how we have jump our of the predefined sandbox to develop creative solution on well known problem.
This document discusses porting games from other platforms to Android-based micro-consoles and handheld devices. It describes experiments porting the games Lightbringer and Zombie Tycoon 2 to platforms like the Nvidia Shield and Ouya. Issues addressed include harnessing new hardware capabilities, multiplayer solutions, differences between platforms, and techniques for bypassing limitations and improving performance like using native extensions. The document outlines experiences profiling, debugging, improving visuals and performance on these new platforms.
FGS 2011: Making A Game With Molehill: Zombie Tycoonmochimedia
Luc Beaulieu and Jean-Philipe Auclair from Frima Studio share their experience working with Adobe's new Molehill API's in making their new game "Zombie Tycoon".
Using The New Flash Stage3D Web Technology To Build Your Own Next 3D Browser ...Daosheng Mu
This document discusses using the Adobe Flash Stage3D API to build 3D browser MMOs. It outlines optimization techniques used in the XPEC Flash 3D engine like material sorting, shared buffers, and command buffering to reduce draw calls and improve performance. It also covers challenges in implementing features like particles, skinning, shadows, and post-effects within Flash's limitations and solutions developed. Future work areas discussed include Adobe Texture Format, multi-threading via workers, and cross-compilation technologies.
Benoit fouletier guillaume martin unity day- modern 2 d techniques-gce2014Mary Chan
Using lessons learned from working on AAA 2D games, a 4-strong indie team set out to create a complete pipeline for creating modern 2D games with an organic feel and a high level of polish... on indie-scale resources.
The tools and techniques developed to reach that ambitious goal will be presented, from the innovative animation system, the terrain, vegetation and level art system, to the effective but powerful rendering model, and more.
Intended audience & prerequisites: Anyone working on a 2D game: programmers, animators, level designers, level artists.
The talk will be of particular interest to teams using Unity, but rather than being purely technical, the talk will outline principles that can be applied in any engine.
Session takeaway: I believe 2D has a great future ahead of her, and that we can do much more with it. I intend to demonstrate how to improve the production pipeline, and invest in tools to become more technical the way 3D does, while retaining the unique advantages of 2D.
Game Credits:
Rayman Origins (Ubisoft Montpellier)
Rayman Legends (Ubisoft Montpellier)
Tetrobot and Co. (Swing Swing Submarine)
Seasons After Fall [working title] (Swing Swing Submarine)
Unity - Internals: memory and performanceCodemotion
by Marco Trivellato - In this presentation we will provide in-depth knowledge about the Unity runtime. The first part will focus on memory and how to deal with fragmentation and garbage collection. The second part will cover implementation details and their memory vs cycles tradeoffs in both Unity4 and the upcoming Unity5.
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
The Elder Scrolls Blades strove to produce high-quality visuals on modern mobile devices. This talk will describe the challenges of achieving that level of quality in procedurally generated 3D environments.
Speakers:
Simon-Pierre Thibault - Bethesda Game Studios
Sergei Savchenko - Bethesda Game Studios
Watch the session here: https://youtu.be/KbxiGH6igBk
Adding more visuals without affecting performanceSt1X
Smallest viable set of performance optimizations recommendations for game artists. This presentation targets artist that have little knowledge about computer hardware capabilities and limitations.
SIVP is an image and video processing toolbox for Scilab that provides functions for tasks like reading, manipulating, and displaying images and video. It was created using OpenCV and provides over 50 supported image formats and video codecs. The document demonstrates SIVP's capabilities and compares its performance and features to other image processing libraries like SIP and MATLAB.
The document discusses various techniques for implementing animation in computer games. It begins by outlining the goals of animation and then describes different technical approaches like cel animation, billboards with animated textures, rigid hierarchical animation, vertex animation, and skinned animation. It also covers related topics like using animation for data compression, blending animations, physics-based animation, and the role of animation in artificial intelligence for games.
GPUs are specialized processors designed for graphics processing. CUDA (Compute Unified Device Architecture) allows general purpose programming on NVIDIA GPUs. CUDA programs launch kernels across a grid of blocks, with each block containing multiple threads that can cooperate. Threads have unique IDs and can access different memory types including shared, global, and constant memory. Applications that map well to this architecture include physics simulations, image processing, and other data-parallel workloads. The future of CUDA includes more general purpose uses through GPGPU and improvements in virtual memory, size, and cooling.
The document provides an overview of the PlayStation Vita hardware and software capabilities for developers. It describes the Vita's high resolution screen, quad core processor, and powerful GPU. The document highlights key differentiational aspects like the dual analog sticks, touch screen, cameras, and motion sensors. It also summarizes libraries, tools, and middleware to simplify development, including facial recognition, augmented reality, and location-based services. Graphics are rendered using tile-based deferred rendering to efficiently manage on-chip memory and hidden surface removal.
[Unite Seoul 2020] Mobile Graphics Best Practices for ArtistsOwen Wu
This document discusses best practices for mobile graphics optimization in Unity for artists. It covers topics like texturing, geometry, shaders, and frame rendering. For texturing, it recommends techniques like mipmapping, bilinear filtering, texture compression, and channel packing. For geometry, it suggests avoiding small/thin triangles and duplicating vertices while using instancing. For shaders, it discusses precision, early Z-testing, overdraw reduction, and dynamic branching. For frame rendering, it recommends reducing state switches and framebuffer writes/clears.
This document provides an overview of Cocos2D, an open source framework for building 2D games and other interactive applications. It discusses Cocos2D's scene graph structure, principal classes like CCNode and CCDirector, use of sprites and actions, and tools for working with Cocos2D like TexturePacker. It also compares building games with Cocos2D on iOS versus Android and introduces Cocos2D-X for cross-platform development and Cocos2D-HTML5 for web games.
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
In this session, the Unity Demo team provides their best tips and tricks for optimizing detailed, complex environment scenes for modern console performance.
Speakers:
Rob Thompson (Unity Technologies)
This document discusses digital video codecs and compression. It begins by defining pixel resolutions for standard definition, high definition, and digital cinema. It then covers CMOS image sensors used for HD, 2K and 4K capture and explains intra-frame and inter-frame compression. The document provides an example of the Apple ProRes 422 codec and analyzes its key attributes. It also discusses interlaced vs progressive scanning, picture impairments from compression, digital cinema standards, and predicts that advances in compression will continue to be needed to handle higher resolutions and frame rates.
This document discusses digital video codecs and compression. It begins by defining pixel resolutions for standard definition, high definition, and digital cinema. It then covers CMOS image sensors used for HD, 2K and 4K capture and explains intra-frame and inter-frame compression. The document provides an example of the Apple ProRes 422 codec and analyzes its key attributes. It also discusses interlaced vs progressive scanning, picture impairments from compression, digital cinema standards, and predicts that requirements on compression will reduce over time due to technological advances.
This document summarizes computer graphics hardware, including display devices like CRTs and their components, as well as graphics cards and their evolution. It discusses raster vs vector displays and the frame buffer. Key points are:
- CRTs use electron beams controlled by magnetic coils to excite phosphors and produce images.
- Raster displays store images as bitmaps in a frame buffer that is read out to refresh the screen.
- Graphics cards offload graphics processing from the CPU and contain a GPU for accelerated rendering. Their capabilities have increased greatly over time.
Axceleon Presentation at Siggraph 2009Axceleon Inc
High performance computing, which was traditionally used by scientific and engineering organizations, is now being used widely in the visual effects and animation industry. Large render farms with hundreds or thousands of nodes are now common at major studios. The amount of computing power and storage needed for projects keeps growing dramatically. Resource management software like EnFuzion helps optimize these large render farms and enable on-demand, cloud-based rendering.
The document summarizes a new type of smart camera called the PC Camera. The PC Camera integrates a fully functional high-performance industrial PC inside the camera. This allows for zero CPU overhead on image data delivery and a true zero copy paradigm. The PC Camera uses an AMD accelerated processing unit (APU) which collocates a CPU and GPU on a single die. This provides very high computational performance of over 90 GFlops in a small form factor while avoiding the limitations of traditional smart cameras.
Similar to Making a game with Molehill: Zombie Tycoon (20)
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
4. State of Flash
• Is Flash Dead?
• FB: Top 10 = 250M MAU
• Desktops: Flash 10 installed on 99%+
• SmartPhones: Flash/Air 200+M, 100 devices
• Streaming: 120 petabytes per month
• Advances in Flash for 3D games
• AS3
• 10.1, 10.2 …
• Molehill
5. Molehill’s API Presentation
• Pros:
– GPU Accelerated API
– Relies on DirectX 9 and OpenGL ES 2.0
– Native Software fallback
• Cons:
– No point sprite support, branching, MRT, depth buffer
– No CPU threading support
– Native Software fallback
8. Digging deeper into Molehill
• Assuming a basic knowledge of 3D development terminology
• Display Layers
• Model/Animation File Format
• Character Animation: Matrix vs Quaternion
• Texturing
• Optimizing the Particle System
• Fast Lights & Shadows
• CPU Post-Processing effects
• Profiling & Debugging tools
• Bonus!
– 3D GameDev Lexicon
– The math explaining all the numbers I’m going to talk about
– Cheat sheets
10. Frima 3D File Format
• Many 3D engines for flash try to support multiple input format
• …Or support only generic format such as ColladaXML
• Using a format optimized for 3D game made in Flash
– Small File Size
– Small Memory footprint
– No processing required
Model & Animation File Processing on low-end computer
6000
5250
5000
4000
3000
2000 Time to process (ms)
1000
15
0
Collada XML Frima Binary Format
11. Frima 3D File Format
• Export pipeline
3DS Max Scene
Build Tool
Max Script Exporter
Collada XML
12. Frima 3D File Format
• Export pipeline
Build Tool
Game Serialize (AMF) Game
Model / Animation
Object Compress File
13. Frima 3D File Format
• In-Game usage
Game Uncompress Game
Add To Scene
File Unserialize Object
15. Animation techniques
• Matrix linear blending can cause loss of volume when joints are twisted or
extremely bent
• When using matrix, each bone take 3 constants
– Maximum number of bones is 40
• When using DualQuats, each bone take only 2 constants
– Maximum number of bones is 60
Matrix (left) / Dual Quaternion (Right)
16.
17. Transitions & interpolation
• Animation transition require two sets of bones
• Idle blending to walk
• Same thing for frame interpolation (ex: Bullet time Animation)
DualQuaternion 48
matrix 72
0 32 64 96 128
VertexShader constant required for animating a character (24 bones)
DualQuaternion Anim1 (48) Anim2 (48)
matrix Anim1 (72) Anim2 (72) Too Much
0 32 64 96 128
Constant for anim 1 Constant for anim 2
20. Texturing in Molehill
• The first version of the engine was only using PNGs
• Adobe Texture Format (ATF)
– Texture are kept compressed in Video Memory
– Native support for multi-device publishing
– One file containing 3 encoding: DXT1, ETC1 and PVRTC
– 1.3x bigger than original PNG
– Contain the MipMapping of the texture
– Does not support transparency
21. Texturing in Molehill
• Transparency
– Use PNGs with indexed color
– Sample a “alpha mask texture” in the pixel shader
ATF PNG
Avatar = opaque Fence = Transparent
22. Texturing in Molehill
• Many effects can use ATF when using the good blend modes
• No need for transparency
Splatter = Multiply Fire = Additive
23.
24. Particle System
• Using a divided workload (CPU/GPU) for better performance
– Each particle property update is computed on the CPU at each frame
• Alpha, Color, Direction, Rotation, frame(If SpriteSheet), etc.
– On the GPU
• Applying theses properties
• Expending billboard vertex to face the screen
25. Particle System : Optimization
• How many particle?
– Due to the VertexBuffer and IndexBuffer limits,
– In ZombieTycoon we were limited to around 16383 particles per draw call
• Using Fast ByteArray (also known as Alchemy memory or DomainMemory)
– Using Azoth, properties updates were 10 times faster
• Batching draw calls using the same texture
• Using a 100% GPU particle system
– It’s expensive on the GPU
– Support only linear transformation
– Zero CPU required
29. Lights & shadows
• ShadowMap & LightMap
– We used two textures, a “multiplied” ShadowMap and an “additive” LightMap
Diffuse
* ShadowMap
+ Lightmap
= Composite
30. Lights & shadows
• Dynamic lighting
– Lighting required expensive pixel shader, currently limited to 256 instructions
– Zombie Tycoon support up to 7-9 lights (spot or points) per object.
31.
32. Lights & shadows
• Pixel Shader assembly code
– Per light, without Normal/Specular mapping.
33. Lights & shadows
• Fake Volumetric Lights
– Using a few billboard particles, it’s easy to fake a nice and lightweight volumetric lighting
– All object are sampling Shadow and light maps, and since the light particles are “additive”, if
an object is behind the lights, it will look brighter
36. Lights & shadows
• Fake projected shadows
– We created a particle of a gradient black spot aligned to the ground
– Orientation and scale of the particle depends on light position and intensity
37.
38. CPU Post-Processing
• Possibility of reading the BackBuffer
– Strongly recommended not to use Readback
– Fast pipeline for data from the System memory to Video memory
– VERY slow pipeline from video to system memory
• Effects: Bloom, Blur, Depth of Field, etc.
Motion Blur
40. Profiling and Debugging tools (CPU)
• FlashDevelop (O.S.S.)
– Most of the production is using FlashDevelop
– Now with a profiler and a debugger, it’s very easy to work with it
41. Profiling and Debugging tools (CPU)
• Adobe Flash Builder Profiler
– Profile Function calls
– Profile Memory allocation
42. Profiling and Debugging tools (CPU)
• FlashPreloadProfiler (O.S.S.)
– Profile Function calls
– Profile Memory allocation
– Profile Loaders status
– Can be used in Debug/Release & browser/Projector
43. Profiling and Debugging tools (GPU)
• Pix for windows
– List of API calls
– Shaders assembly code
– Pixel debugger
– Texture viewer
44. Profiling and Debugging tools (GPU)
• Intel® Graphics Performance Analyzers (GPA)
– Render in wireframe
– Profile Vertex and Pixel shader performance
– Visualize overdraw and draw call sequence
– Save a frame, and make real-time experiment
– Identification of bottlenecks
46. What it means?
• VertexBuffer
• IndexBuffer
• Vertex Constants
• MipMapping
• Quaternion
• Billboard
47. Bonus Slide: The maths!
• Character animation:
– Matrix linear blending:
• 128 Float4 VertexConstant – WorldMatrix – ViewProj matrix = 120Float4
• 120Float4 / / 3Float4 per bone = 40 bones in the constants
• Bullet time and transitions require two sets of bones: 40/2 = 20 bones per character max
– DualQuaternion linear blending:
• 128 Float4 VertexConstant – WorldMatrix – ViewProj matrix = 120Float4
• 120Float4 / / 2Float4 per bone = 60 bones in the constants
• Bullet time and transitions require two sets of bones: 60/2 = 30 bones per character max
• Max Particle Count
– The VertexBuffer is limited to 65536 vertex, the IndexBuffer is limited to 983040 index of type SHORT
– In theory, you could have up to 327680 triangle in one draw call
– In practice, with no vertex re-use between particles and using quads (4 vertex): 65536/6 = 16383 particle max per
draw call
• Lighting
– With the PixelShader limit of 256 instructions, we were able to fit around 7 to 9 dynamic lights per object (point or
spot light)
Here is a quick overview of what we will go through in this session. I will start by looking at the current state of Flash and I will present the Molehill API that Adobe is offering us. JP will then take over and dig deeper in the technical aspects of it all.
Is Flash Dead? Look this up in Google and you’ll find many interesting discussions. I have no intention on going into the politics of it, so here are some facts.According to AppData, the top two FB apps attracts close to 150M MAU. Both are Flash games. From known metrics, this amounts to a conservative 30M $ per month, all going to the same company, but still WebGL = Final draft was done a month ago.The Flash player provided advances that « helped » 3D based applications. AS3 was a big one, providing a much faster Virtual Machine, but it’s still non-native software rendering. Molehill provides the jump ahead to real 3D on the browser.35 devices by 2010 – Close to 100 deviceswillshipwithit in 2011Flash Stats based on : http://www.adobe.com/products/player_census/flashplayer/version_penetration.html (December 2010)http://tv.adobe.com/watch/industry-trends/strong-mobile-adoption-of-flash-platform-in-2011/
Molehill opens a low-level API to access the GPU. Adobe decided to limit this API to a lowest supported denominator. This decision has been made to keep a consistent experience across all supported platforms.Those are some Pros and Cons, you can probably draw your own list after playing with it No CPU threading API yet on the Flash player. Adobe has been using it more internally and I’m sure they are working on something for us to use soon One thing to note, is the software fallback. Be careful when designing Molehill games, decide if you can afford the software renderer as soon as possible. If you don’t support it, always validate that hardware is used and show a prompt otherwise.I will now let JP discuss the technical aspects of all of this
Starting with the base, the file formatAnd the I Will cover some of the system that we have in ZombieTycoon
Starting with the base, the file formatAnd the I Will cover some of the system that we have in ZombieTycoon
If you have 1000 quad particles, itmeansyou have to update around 6000 vertex to update, and witharound 10 values soAt the end it’s 60 000 update on yourbytearray.VB: of 64 DWORD
If you have 1000 quad particles, itmeansyou have to update around 6000 vertex to update, and witharound 10 values soAt the end it’s 60 000 update on yourbytearray.VB: of 64 DWORD
If you have 1000 quad particles, itmeansyou have to update around 6000 vertex to update, and witharound 10 values soAt the end it’s 60 000 update on yourbytearray.VB: of 64 DWORD
If you have 1000 quad particles, itmeansyou have to update around 6000 vertex to update, and witharound 10 values soAt the end it’s 60 000 update on yourbytearray.VB: of 64 DWORD
If you have 1000 quad particles, itmeansyou have to update around 6000 vertex to update, and witharound 10 values soAt the end it’s 60 000 update on yourbytearray.VB: of 64 DWORD