GPUs are specialized processors that can perform parallel floating point math operations quickly. This allows GPUs to efficiently process graphics. Metal is a new graphics framework from Apple that promises improved performance over OpenGL ES by reducing expensive CPU tasks like shader compilation. By precompiling shaders and validating state once at load time rather than per draw call, Metal allows more draw calls to be processed per frame. GPUImage is an existing library that provides efficient image processing by utilizing OpenGL ES and serial dispatch queues to minimize CPU overhead. While OpenGL ES will still be supported, Metal offers performance benefits for tasks involving many independent objects by further reducing CPU workload.
Rendering Techniques for Augmented Reality and a Look Ahead at AR FoundationUnity Technologies
Have you ever wondered why your virtual and real-world objects look disconnected from each other? Are you curious about how to blend virtual and physical spaces to create a seamless experience? This talk will cover advanced techniques using lighting, depth masks, occlusion, shadows and more to create a sense of immersion. You'll also get an introduction to a set of tools that will improve your development process when using Unity and AR Foundation.
Jimmy Alamparambil - Unity Technologies
Lukasz Pasek - Unity Technologies
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
Rendering Techniques for Augmented Reality and a Look Ahead at AR FoundationUnity Technologies
Have you ever wondered why your virtual and real-world objects look disconnected from each other? Are you curious about how to blend virtual and physical spaces to create a seamless experience? This talk will cover advanced techniques using lighting, depth masks, occlusion, shadows and more to create a sense of immersion. You'll also get an introduction to a set of tools that will improve your development process when using Unity and AR Foundation.
Jimmy Alamparambil - Unity Technologies
Lukasz Pasek - Unity Technologies
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
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...Unity Technologies
Virtual reality (VR) and augmented reality (AR) are powerful tools for storytelling, but poor execution can negatively impact consumer reactions and engagement. This session guides you through the latest Unity tech and best practices for creating stunning high-end VR and mobile AR visuals.
Speaker: Dan Miller – Unity
Watch the session on YouTube: https://youtu.be/dvOZ7IL2iOI
Discover the technology behind "The Heretic" – Unite Copenhagen 2019Unity Technologies
Unity's award-winning Demo team, creators of Adam and Book of the Dead, showcases how Unity can power high-end visuals for game productions. These slides show how the team used the latest features in the High Definition Render Pipeline such as Post Processing, Shader Graph, Visual Effect Graph, and Timeline to create their latest amazing real-time short film, The Heretic.
Speaker: Mark Schoennagel – Unity
Watch the session on YouTube: https://youtu.be/CCnhPyK1v9E
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019Unity Technologies
Learn how the Boat Attack demo was created using the Universal Render Pipeline. These slides offer an in-depth look at the features used in the demo, including Shader Graph, Custom Render Passes, Camera Callback, and more.
Speaker:
Andre McGrail - Unity Technologies
Watch the session on YouTube: https://youtu.be/ZPQdm1T7aRs
These are slides of talk made at https://www.agilemovement.it/workingsoftware/schedule.html. In this talks I'll show how the concepts of DDD like aggregate, domains events, read model, command, CQRS and so on love the idea of Actor Model and how a languages like Elixir that is built on a real Actor Model VM like the BEAM, is very powerful to build software that take care of DDD/CQRS/ES.
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".
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)
Pixel shaders based UI components + writing your first pixel shaderDenis Radin
5 years ago shaders transformed game graphics and became the technology behind all amazing VFX we see in computer games. Now they are ready to rock the Web. Shaders are widely used in computer graphics providing unlimited abilities and amazing performance however for Web apps they are still underutilized despite wide browsers support. This talk introduces pixel shaders and then switches to solving a real world problem using shaders in a form of a small workshop during which you will write your first pixel shader based UI component and find how to integrate it with your Web application.
The content was modified from Google Content Group
Eric ShangKuan(ericsk@google.com)
---
TensorFlow Lite guide( for mobile & IoT )
TensorFlow Lite is a set of tools to help developers run TensorFlow models on mobile, embedded, and IoT devices. It enables on-device machine learning inference with low latency and small binary size.
TensorFlow Lite consists of two main components:
The TensorFlow Lite interpreter:
- optimize models on many different hardware types, like mobile phones, embedded Linux devices, and microcontrollers.
The TensorFlow Lite converter:
- which converts TensorFlow models into an efficient form for use by the interpreter, and can introduce optimizations to improve binary size and performance.
---
Event: PyLadies TensorFlow All-Around
Date: Sep 25, 2019
Event link: https://www.meetup.com/PyLadies-Berlin/events/264205538/
Linkedin: http://linkedin.com/in/mia-chang/
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsPrabindh Sundareson
Introduction to OpenGL ES and GPU Programming portion of the 7 part session on GFX workshops. Introduces the OpenGL ES specifications from Khronos and provides a perspective of current GPU architectures.
Game engines have long been in the forefront of taking advantage of the ever
increasing parallel compute power of both CPUs and GPUs. This talk is about how the
parallel compute is utilized in practice on multiple platforms today in the Frostbite game
engine and how we think the parallel programming models, hardware and software in
the industry should look like in the next 5 years to help us make the best games possible.
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...Unity Technologies
Virtual reality (VR) and augmented reality (AR) are powerful tools for storytelling, but poor execution can negatively impact consumer reactions and engagement. This session guides you through the latest Unity tech and best practices for creating stunning high-end VR and mobile AR visuals.
Speaker: Dan Miller – Unity
Watch the session on YouTube: https://youtu.be/dvOZ7IL2iOI
Discover the technology behind "The Heretic" – Unite Copenhagen 2019Unity Technologies
Unity's award-winning Demo team, creators of Adam and Book of the Dead, showcases how Unity can power high-end visuals for game productions. These slides show how the team used the latest features in the High Definition Render Pipeline such as Post Processing, Shader Graph, Visual Effect Graph, and Timeline to create their latest amazing real-time short film, The Heretic.
Speaker: Mark Schoennagel – Unity
Watch the session on YouTube: https://youtu.be/CCnhPyK1v9E
How the Universal Render Pipeline unlocks games for you - Unite Copenhagen 2019Unity Technologies
Learn how the Boat Attack demo was created using the Universal Render Pipeline. These slides offer an in-depth look at the features used in the demo, including Shader Graph, Custom Render Passes, Camera Callback, and more.
Speaker:
Andre McGrail - Unity Technologies
Watch the session on YouTube: https://youtu.be/ZPQdm1T7aRs
These are slides of talk made at https://www.agilemovement.it/workingsoftware/schedule.html. In this talks I'll show how the concepts of DDD like aggregate, domains events, read model, command, CQRS and so on love the idea of Actor Model and how a languages like Elixir that is built on a real Actor Model VM like the BEAM, is very powerful to build software that take care of DDD/CQRS/ES.
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".
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)
Pixel shaders based UI components + writing your first pixel shaderDenis Radin
5 years ago shaders transformed game graphics and became the technology behind all amazing VFX we see in computer games. Now they are ready to rock the Web. Shaders are widely used in computer graphics providing unlimited abilities and amazing performance however for Web apps they are still underutilized despite wide browsers support. This talk introduces pixel shaders and then switches to solving a real world problem using shaders in a form of a small workshop during which you will write your first pixel shader based UI component and find how to integrate it with your Web application.
The content was modified from Google Content Group
Eric ShangKuan(ericsk@google.com)
---
TensorFlow Lite guide( for mobile & IoT )
TensorFlow Lite is a set of tools to help developers run TensorFlow models on mobile, embedded, and IoT devices. It enables on-device machine learning inference with low latency and small binary size.
TensorFlow Lite consists of two main components:
The TensorFlow Lite interpreter:
- optimize models on many different hardware types, like mobile phones, embedded Linux devices, and microcontrollers.
The TensorFlow Lite converter:
- which converts TensorFlow models into an efficient form for use by the interpreter, and can introduce optimizations to improve binary size and performance.
---
Event: PyLadies TensorFlow All-Around
Date: Sep 25, 2019
Event link: https://www.meetup.com/PyLadies-Berlin/events/264205538/
Linkedin: http://linkedin.com/in/mia-chang/
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsPrabindh Sundareson
Introduction to OpenGL ES and GPU Programming portion of the 7 part session on GFX workshops. Introduces the OpenGL ES specifications from Khronos and provides a perspective of current GPU architectures.
Game engines have long been in the forefront of taking advantage of the ever
increasing parallel compute power of both CPUs and GPUs. This talk is about how the
parallel compute is utilized in practice on multiple platforms today in the Frostbite game
engine and how we think the parallel programming models, hardware and software in
the industry should look like in the next 5 years to help us make the best games possible.
Пиксельные шейдеры для Web-разработчиков. Программируем GPU / Денис Радин (Li...Ontico
HighLoad++ 2017
Зал «Москва», 7 ноября, 15:00
Тезисы:
http://www.highload.ru/2017/abstracts/3017.html
5 лет назад шейдеры перевернули мир компьютерной графики, став технологией, ответственной за все впечатляющие спец. эффекты, которые мы видим в компьютерных играх. Сейчас они готовы перевернуть веб.
Доклад расскажет об истории и причинах появления пиксельных шейдеров, механизме работы и вариантах использования в разработке обычных Web-приложений. После прохождения курса теории мы перейдем к пошаговому мастер-классу. Как насчет написания своего первого пиксельного шейдера?
A talk given to students at the University of Texas's Game Development program. General information about my experiences in the game industry (from ~10 years ago), as well as more recent work around the game industry.
A SURVEY ON GPU SYSTEM CONSIDERING ITS PERFORMANCE ON DIFFERENT APPLICATIONScseij
In this paper we study NVIDIA graphics processing unit (GPU) along with its computational power and applications. Although these units are specially designed for graphics application we can employee there computation power for non graphics application too. GPU has high parallel processing power, low cost of computation and less time utilization; it gives good result of performance per energy ratio. This GPU deployment property for excessive computation of similar small set of instruction played a significant role in reducing CPU overhead. GPU has several key advantages over CPU architecture as it provides high parallelism, intensive computation and significantly higher throughput. It consists of thousands of hardware threads that execute programs in a SIMD fashion hence GPU can be an alternate to CPU in high performance environment and in supercomputing environment. The base line is GPU based general purpose computing is a hot topics of research and there is great to explore rather than only graphics processing application.
Similar to Gpu Programming With GPUImage and Metal (20)
This is a primer on some of the foundations of 3D math used in computer graphics programming. This is the version of the talk from CocoaConf Chicago 2015.
This is the version of my 3D math talk that I used at CocoaConf Atlanta. This version includes the graphic representations of the different steps in implementing the shader.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
2. What is a GPU?
A Graphics Processing Unit (GPU) is a small super
computer that does one thing really really well. That
one thing is processing floating point math in
parallel.
There are several applications for being able to do
really fast floating point math: Graphics processing,
bioinformatics, molecular dynamics, etc…
Most people are going to primarily focus on
graphics processing, as we will today
3. What is Parallel Computing
The default processes in a project is serialized
computing. One instruction is processed at a time
and then the CPU moves on to the next one.
Parallel computing is the process of allowing
multiple instructions to be carried out at once.
Can be done on different threads, cores, and even
at the bit level.
4. But I Have Concurrency!
Concurrency is about dealing with a lot of things
at once.
Parallelism is about doing lots of things at once.
5. Shader Basics
Shaders are the programs that determine what
gets displayed on your screen.
Shaders determine shapes, colors, textures,
lighting…
Everything you see and use comes down to
shaders.
11. Problems with OpenGL
Was created back when GPUs were not very
powerful and existed on external graphics cards
that could be swapped out
The computer system architecture was vastly
different when OpenGL was created. Things that
were not very efficient then, like the GPU, are vastly
more efficient now.
Nothing is ever deprecated (Don’t ask Java
programmers what that means, they don’t know)
12.
13. Creation of OpenGL ES
ES: Embedded Systems
Wanted to strip out all of the dead code from
OpenGL
Was specifically tailored to work on less powerful
devices like mobile phones
14. We don’t need a dozen turtles that all do the same thing
15. OpenGL ES Specifics
Streamlined version of OpenGL
Everything you can do in OpenGL ES can directly
be ported to OpenGL
Basically an optimized version of OpenGL
17. CPU Expensive Tasks
Sending hardware commands to the GPU
(Changing State Vectors)
Confirming that API usage is valid
Compiling the shaders
Interaction between the state and the shaders
18. What the Heck is “State”??
Try to envision a client-server process. Instead of
your program sending an instruction over the
network to a server and getting data back, you are
sending instructions from your CPU to your GPU
to be executed. Since you are sending instructions
away from your client to be done elsewhere, you
want to minimize this as much as possible.
19. What the Heck is “State”??
For example, in most Twitter client applications the
client batches 20 or more Tweets in one call. This
allows the application to feed tweets to the user
without them having to wait for the network to
deliver each and every tweet individually.
22. Programmable Pipeline
Introduced in OpenGL ES 2.0
Shaders are now the responsibility of the
programmer
Harder to do, but provides far more flexibility and
options for effects
24. GLSL
OpenGL Shading Language (GLSL)
Introduced in OpenGL 2.0 in 2004
C-like language for building shaders, which are
small, efficient programs to run on the GPU
Includes some specific data types and methods
for processing geometry and graphics math that
are not included in C
27. Vertex Shaders
The Vertex Shader would record the vertices of the
star (which would be broken down into a series of
triangles)
The Vertex Shader would also specify that the area
between the vertices is yellow. If there was a
texture instead of a color, the shader would keep
track of the texture coordinates.
29. Fragment Shaders
Fragment Shaders determine what pixels receive
which color.
If you look carefully at the star, there are areas
outside the star that are yellow and areas inside
that are white.
If there is a gradient, the Fragment Shader will
calculate what specific color each individual pixel
will be.
33. Varyings
Used to pass data between the Vertex and the
Fragment Shaders
Read-only in the Fragment Shader
Read-Write in the Vertex Shader
Varyings are the variables that determine the pixel
color for the Fragment Shader
35. Creating GPUImage
GPUImage dates back to iOS 5.
Unlike Core Image (at the time), GPUImage utilized
shaders more efficiently to make image processing
faster. Core Image has been improved over the
years and they are now comparable.
36. Why is GPUImage so
Efficient?
OpenGL ES tasks must be performed on one
thread
Many people utilize locks to manage the thread or,
God forbid, only use the main thread. <shudder>
NSLock is expensive to the CPU
GPUImage utilizes a serial dispatch queue through
GCD to manage anything that touches the GPU to
keep everything happy and thread safe.
39. What does Metal Promise?
Deep hardware integration between Apple chips
and Apple frameworks
General Purpose GPU programming (GPGPU)
Precompiled Shaders
up to 10 times more draw calls per frame
Being able to perform draw calls on multiple
threads
40. What Specifically are the
CPU Expensive Tasks?
Compiling Shaders
Validating State
Start Work on the GPU
41. Life Before Metal
All three of these expensive tasks were done on
each and every single draw call.
All of these tasks don’t have to be done thousands
of times a frame. Many can be done once, as long
as the program knows that it does not have to
continually check them.
42. Life After Metal
Compiling Shaders: Now done when the
applications builds
Validating State: Now done when the content
loads
Start Work on the GPU: Still happens on each
draw call. We can’t win them all…
43. Why is This Important?
Before Metal, you would have to balance CPU
time with GPU time. Tasks were so expensive that
the GPU would usually not be used to capacity.
Now that the CPU tasks are less expensive, you
can take that time to generate more AI and do
more programming logic.
44. Where Does Metal Help
You?
Metal helps you when you have a lot of objects
that need to work independently of one another.
Certain tasks, like image processing, do not
involve a lot of objects, so you aren’t going to gain
much with Metal.
46. Secret Sauce
Okay, so one of the big, obscure black boxes in
this scheme is the promise of deep software/
hardware integration. One thing I have not had
the chance to study in depth is kernel
programming and chip architecture. Knowing
the idiosyncrasies of the chips and only having
to support one type allows for more targeted
processes.
47. IS THERE ANY POINT IN LEARNING
OPENGL ES ANYMORE?
48. Yes, absolutely. Metal’s API is very similar to OpenGL ES.
!
It will take a while for everyone to transition over
to devices with A7 chips.
!
Apple will continue to support its developers who
work with OpenGL ES, especially since the
Mac uses OpenGL and won’t be able to use Metal (yet).
!
It isn’t like they would
just throw out an older technology that works
perfectly well and replace it with something
that barely works, right??