Vulkan SDK for Android 1.1.1
Mali Developer Center
Main Page
Related Pages
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
l
m
o
p
q
r
s
t
u
w
x
y
z
~
+
Functions
a
b
c
d
f
g
i
l
o
p
r
s
t
u
w
~
+
Variables
a
b
c
d
e
f
g
h
i
m
p
q
r
s
w
x
y
z
Enumerations
Enumerator
+
Files
File List
•
All
Classes
Functions
Variables
Enumerations
Enumerator
Pages
application.hpp
1
/* Copyright (c) 2016-2017, ARM Limited and Contributors
2
*
3
* SPDX-License-Identifier: MIT
4
*
5
* Permission is hereby granted, free of charge,
6
* to any person obtaining a copy of this software and associated documentation files (the "Software"),
7
* to deal in the Software without restriction, including without limitation the rights to
8
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
9
* and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12
*
13
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
17
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
*/
20
21
#ifndef FRAMEWORK_APPLICATION_HPP
22
#define FRAMEWORK_APPLICATION_HPP
23
24
#include "platform/platform.hpp"
25
26
namespace
MaliSDK
27
{
28
class
Context;
29
33
class
VulkanApplication
34
{
35
public
:
37
virtual
~VulkanApplication
() =
default
;
38
45
virtual
bool
initialize
(
Context
*pContext) = 0;
46
58
virtual
void
updateSwapchain
(
const
std::vector<VkImage> &backbuffers,
59
const
Platform::SwapchainDimensions
&dimensions) = 0;
60
67
virtual
void
render
(
unsigned
swapchainIndex,
float
deltaTime) = 0;
68
72
virtual
void
terminate
() = 0;
73
};
74
87
VulkanApplication
*createApplication();
88
}
89
90
#endif
MaliSDK::VulkanApplication::terminate
virtual void terminate()=0
Destructor for the class.
MaliSDK::VulkanApplication::render
virtual void render(unsigned swapchainIndex, float deltaTime)=0
Render a frame.
MaliSDK
Definition:
application.hpp:26
MaliSDK::Context
The Context is the primary way for samples to interact with the swapchain and get rendered images to ...
Definition:
context.hpp:36
MaliSDK::VulkanApplication::updateSwapchain
virtual void updateSwapchain(const std::vector< VkImage > &backbuffers, const Platform::SwapchainDimensions &dimensions)=0
Called when the swapchain has been initialized.
MaliSDK::Platform::SwapchainDimensions
Describes the size and format of the swapchain.
Definition:
platform.hpp:54
MaliSDK::VulkanApplication::~VulkanApplication
virtual ~VulkanApplication()=default
Destructor.
MaliSDK::VulkanApplication
VulkanApplication is inherited by all samples. The common platform code will run the main loop and ta...
Definition:
application.hpp:33
MaliSDK::VulkanApplication::initialize
virtual bool initialize(Context *pContext)=0
This function is called when the context is brought up and is the constructor of this class...
framework
application.hpp
(C) ARM Ltd. 2016