This commit is contained in:
2026-06-14 19:09:18 +01:00
parent 14bd1a9271
commit 13fa90a0e9
3958 changed files with 999286 additions and 4 deletions
+72
View File
@@ -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))
+155
View File
@@ -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)},
};
+23
View File
@@ -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
};
+34
View File
@@ -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
};