Add ktx
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright 2016-2020 Mark Callow
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
static const float cube_face[] =
|
||||
{
|
||||
-1.0f, +1.0f, +1.0f, /* Front */
|
||||
+1.0f, -1.0f, +1.0f,
|
||||
+1.0f, +1.0f, +1.0f,
|
||||
-1.0f, -1.0f, +1.0f,
|
||||
-1.0f, +1.0f, -1.0f, /* Back */
|
||||
+1.0f, -1.0f, -1.0f,
|
||||
+1.0f, +1.0f, -1.0f,
|
||||
-1.0f, -1.0f, -1.0f,
|
||||
+1.0f, -1.0f, +1.0f, /* Right */
|
||||
+1.0f, +1.0f, -1.0f,
|
||||
+1.0f, +1.0f, +1.0f,
|
||||
+1.0f, -1.0f, -1.0f,
|
||||
-1.0f, -1.0f, +1.0f, /* Left */
|
||||
-1.0f, +1.0f, -1.0f,
|
||||
-1.0f, +1.0f, +1.0f,
|
||||
-1.0f, -1.0f, -1.0f,
|
||||
-1.0f, -1.0f, +1.0f, /* Bottom */
|
||||
+1.0f, -1.0f, -1.0f,
|
||||
+1.0f, -1.0f, +1.0f,
|
||||
-1.0f, -1.0f, -1.0f,
|
||||
-1.0f, +1.0f, +1.0f, /* Top */
|
||||
+1.0f, +1.0f, -1.0f,
|
||||
+1.0f, +1.0f, +1.0f,
|
||||
-1.0f, +1.0f, -1.0f,
|
||||
};
|
||||
#define CUBE_NUM_FACE_COMPONENTS 3
|
||||
#define CUBE_FACE_STRIDE (sizeof(float) * CUBE_NUM_FACE_COMPONENTS)
|
||||
|
||||
static const float cube_color[] = /* almost random colors */
|
||||
{
|
||||
0.7f, 0.1f, 0.2f, 0.0f, 0.8f, 0.9f, 0.3f, 0.0f, 0.4f, 1.0f, 0.5f, 0.0f, 0.0f, 0.6f, 0.1f, 0.0f,
|
||||
0.8f, 0.2f, 0.3f, 0.0f, 0.9f, 1.0f, 0.4f, 0.0f, 0.5f, 0.0f, 0.6f, 0.0f, 0.1f, 0.7f, 0.2f, 0.0f,
|
||||
0.9f, 0.3f, 0.4f, 0.0f, 1.0f, 0.0f, 0.5f, 0.0f, 0.6f, 0.1f, 0.7f, 0.0f, 0.2f, 0.8f, 0.3f, 0.0f,
|
||||
1.0f, 0.4f, 0.5f, 0.0f, 0.0f, 0.1f, 0.6f, 0.0f, 0.7f, 0.2f, 0.8f, 0.0f, 0.3f, 0.9f, 0.4f, 0.0f,
|
||||
0.0f, 0.5f, 0.6f, 0.0f, 0.1f, 0.2f, 0.7f, 0.0f, 0.8f, 0.3f, 0.9f, 0.0f, 0.4f, 1.0f, 0.5f, 0.0f,
|
||||
0.1f, 0.6f, 0.7f, 0.0f, 0.2f, 0.3f, 0.8f, 0.0f, 0.9f, 0.4f, 1.0f, 0.0f, 0.5f, 0.0f, 0.6f, 0.0f,
|
||||
};
|
||||
static const float cube_texture[] =
|
||||
{
|
||||
0.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f,
|
||||
1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f,
|
||||
0.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f,
|
||||
1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f,
|
||||
0.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f,
|
||||
1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 0.0f
|
||||
};
|
||||
static const float cube_normal[] =
|
||||
{
|
||||
0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f,
|
||||
0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f,
|
||||
+1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f,
|
||||
-1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f,
|
||||
0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, -1.0f, 0.0f,
|
||||
0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f, 0.0f, +1.0f, 0.0f,
|
||||
};
|
||||
|
||||
static const unsigned short cube_index_buffer[] = {
|
||||
0, 3, 1, 2, 0, 1, /* Front */
|
||||
6, 5, 4, 5, 7, 4, /* Back */
|
||||
8,11, 9,10, 8, 9, /* Right */
|
||||
15,12,13,12,14,13, /* Left */
|
||||
16,19,17,18,16,17, /* Bottom */
|
||||
23,20,21,20,22,21 /* Top */
|
||||
};
|
||||
#define CUBE_NUM_INDICES (sizeof(cube_index_buffer) / sizeof(unsigned short))
|
||||
@@ -0,0 +1,155 @@
|
||||
/*
|
||||
* Vulkan Samples
|
||||
*
|
||||
* Copyright 2015-2016 Valve Corporation
|
||||
* Copyright 2015-2016 LunarG, Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Mesh and VertexFormat Data
|
||||
//--------------------------------------------------------------------------------------
|
||||
struct Vertex {
|
||||
float posX, posY, posZ, posW; // Position data
|
||||
float r, g, b, a; // Color
|
||||
};
|
||||
|
||||
struct VertexUV {
|
||||
float posX, posY, posZ, posW; // Position data
|
||||
float u, v; // texture u,v
|
||||
};
|
||||
|
||||
#define XYZ1(_x_, _y_, _z_) (_x_), (_y_), (_z_), 1.f
|
||||
#define UV(_u_, _v_) (_u_), (_v_)
|
||||
|
||||
static const Vertex g_vbData[] = {
|
||||
{XYZ1(-1, -1, -1), XYZ1(0.f, 0.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(1, 1, 1), XYZ1(1.f, 1.f, 1.f)},
|
||||
|
||||
{XYZ1(1, 1, 1), XYZ1(1.f, 1.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, -1, -1), XYZ1(0.f, 0.f, 0.f)},
|
||||
|
||||
{XYZ1(1, 1, 1), XYZ1(1.f, 1.f, 1.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(0.f, 1.f, 0.f)},
|
||||
|
||||
{XYZ1(1, -1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(-1, -1, -1), XYZ1(0.f, 0.f, 0.f)},
|
||||
};
|
||||
|
||||
static const Vertex g_vb_solid_face_colors_Data[] = {
|
||||
{XYZ1(-1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 0.f, 0.f)},
|
||||
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(0.f, 1.f, 0.f)},
|
||||
{XYZ1(1, 1, 1), XYZ1(0.f, 1.f, 0.f)},
|
||||
|
||||
{XYZ1(1, 1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(0.f, 0.f, 1.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(0.f, 0.f, 1.f)},
|
||||
|
||||
{XYZ1(-1, 1, 1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(1.f, 1.f, 0.f)},
|
||||
{XYZ1(-1, -1, -1), XYZ1(1.f, 1.f, 0.f)},
|
||||
|
||||
{XYZ1(1, 1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, 1, 1), XYZ1(1.f, 0.f, 1.f)},
|
||||
{XYZ1(-1, 1, -1), XYZ1(1.f, 0.f, 1.f)},
|
||||
|
||||
{XYZ1(1, -1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(1, -1, -1), XYZ1(0.f, 1.f, 1.f)},
|
||||
{XYZ1(-1, -1, -1), XYZ1(0.f, 1.f, 1.f)},
|
||||
};
|
||||
|
||||
static const VertexUV g_vb_texture_Data[] = {
|
||||
{XYZ1(-1, -1, -1), UV(0.f, 0.f)},
|
||||
{XYZ1(-1, 1, 1), UV(1.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), UV(1.f, 0.f)},
|
||||
{XYZ1(-1, 1, 1), UV(1.f, 1.f)},
|
||||
{XYZ1(-1, -1, -1), UV(0.f, 0.f)},
|
||||
{XYZ1(-1, 1, -1), UV(0.f, 1.f)},
|
||||
|
||||
{XYZ1(-1, -1, -1), UV(1.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), UV(0.f, 0.f)},
|
||||
{XYZ1(1, 1, -1), UV(0.f, 1.f)},
|
||||
{XYZ1(-1, -1, -1), UV(1.f, 0.f)},
|
||||
{XYZ1(1, 1, -1), UV(0.f, 1.f)},
|
||||
{XYZ1(-1, 1, -1), UV(1.f, 1.f)},
|
||||
|
||||
{XYZ1(-1, -1, -1), UV(1.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), UV(0.f, 0.f)},
|
||||
{XYZ1(1, -1, -1), UV(1.f, 0.f)},
|
||||
{XYZ1(-1, -1, -1), UV(1.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), UV(0.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), UV(0.f, 0.f)},
|
||||
|
||||
{XYZ1(-1, 1, -1), UV(1.f, 1.f)},
|
||||
{XYZ1(1, 1, 1), UV(0.f, 0.f)},
|
||||
{XYZ1(-1, 1, 1), UV(0.f, 1.f)},
|
||||
{XYZ1(-1, 1, -1), UV(1.f, 1.f)},
|
||||
{XYZ1(1, 1, -1), UV(1.f, 0.f)},
|
||||
{XYZ1(1, 1, 1), UV(0.f, 0.f)},
|
||||
|
||||
{XYZ1(1, 1, -1), UV(1.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), UV(0.f, 0.f)},
|
||||
{XYZ1(1, 1, 1), UV(0.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), UV(0.f, 0.f)},
|
||||
{XYZ1(1, 1, -1), UV(1.f, 1.f)},
|
||||
{XYZ1(1, -1, -1), UV(1.f, 0.f)},
|
||||
|
||||
{XYZ1(-1, 1, 1), UV(0.f, 1.f)},
|
||||
{XYZ1(1, 1, 1), UV(1.f, 1.f)},
|
||||
{XYZ1(-1, -1, 1), UV(0.f, 0.f)},
|
||||
{XYZ1(-1, -1, 1), UV(0.f, 0.f)},
|
||||
{XYZ1(1, 1, 1), UV(1.f, 1.f)},
|
||||
{XYZ1(1, -1, 1), UV(1.f, 0.f)},
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2016-2020 Mark Callow
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/*
|
||||
* Frame definition
|
||||
*/
|
||||
static const GLbyte frame_position[] =
|
||||
{
|
||||
-1, -1, 0,
|
||||
1, -1, 0,
|
||||
1, 1, 0,
|
||||
-1, 1, 0
|
||||
};
|
||||
|
||||
static const GLbyte frame_color[] =
|
||||
{
|
||||
1, 1, 0,
|
||||
1, 1, 0,
|
||||
1, 1, 0,
|
||||
1, 1, 0
|
||||
};
|
||||
@@ -0,0 +1,34 @@
|
||||
/* -*- tab-width: 4; -*- */
|
||||
/* vi: set et sw=2 ts=4 expandtab: */
|
||||
|
||||
/*
|
||||
* Copyright 2016-2020 Mark Callow
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/*
|
||||
* Quad definition
|
||||
*/
|
||||
static const GLfloat quad_position[] =
|
||||
{
|
||||
1.0f, -1.0f, 0,
|
||||
1.0f, 1.0f, 0,
|
||||
-1.0f, -1.0f, 0,
|
||||
-1.0f, 1.0f, 0
|
||||
};
|
||||
|
||||
static const GLfloat quad_color[] =
|
||||
{
|
||||
0.7f, 0.1f, 0.2f,
|
||||
0.8f, 0.9f, 0.3f,
|
||||
0.4f, 1.0f, 0.5f,
|
||||
0.0f, 0.6f, 0.1f
|
||||
};
|
||||
|
||||
static GLfloat quad_texture[] =
|
||||
{
|
||||
1.0f, 0.0f,
|
||||
1.0f, 1.0f,
|
||||
0.0f, 0.0f,
|
||||
0.0f, 1.0f
|
||||
};
|
||||
Reference in New Issue
Block a user