simple-nvk
Version:
Graphic libary, using Javascript and Node-Vulkan.<br> It has similarities to WebGPU in some places.<br> ## Features Abstractions of Vulkan features like staged buffers.<br> Much shorter to write than Vulkan.<br> ## Install ````console npm install s
90 lines (75 loc) • 4.9 kB
JavaScript
import nvk from "nvk"
export const INT = 0;
export const UINT = 1;
export const FLOAT = 2;
export const TYPE_INT8 = INT | 1 << 4;
export const TYPE_UINT8 = UINT | 1 << 4;
export const TYPE_INT16 = INT | 2 << 4;
export const TYPE_UINT16 = UINT | 2 << 4;
export const TYPE_INT32 = INT | 4 << 4;
export const TYPE_UINT32 = UINT | 4 << 4;
export const TYPE_INT64 = INT | 8 << 4;
export const TYPE_UINT64 = UINT | 8 << 4;
export const TYPE_FLOAT32 = FLOAT | 4 << 4;
export const TYPE_FLOAT64 = FLOAT | 8 << 4;
export const COMMAND_LEVEL_PRIMARY = nvk.VK_COMMAND_BUFFER_LEVEL_PRIMARY;
export const COMMAND_LEVEL_SECONDARY = nvk.VK_COMMAND_BUFFER_LEVEL_SECONDARY;
export const COMMAND_USAGE_ONE_TIME = nvk.VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
export const COMMAND_USAGE_SIMULTANEOUS = nvk.VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT;
export const COMMAND_QUEUE_DEVICE = 0;
export const COMMAND_QUEUE_COMPUTE = 1;
export const COMMAND_QUEUE_TRANSFER = 2;
export const POLYGON_MODE_FILL = nvk.VK_POLYGON_MODE_FILL;
export const POLYGON_MODE_LINE = nvk.VK_POLYGON_MODE_LINE;
export const POLYGON_MODE_POINT = nvk.VK_POLYGON_MODE_POINT;
export const TOPOLOGY_POINT_LIST = nvk.VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
export const TOPOLOGY_LINE_LIST = nvk.VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
export const TOPOLOGY_LINE_STRIP = nvk.VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
export const TOPOLOGY_TRIANGLE_LIST = nvk.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
export const TOPOLOGY_TRIANGLE_STRIP = nvk.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
export const TOPOLOGY_TRIANGLE_FAN = nvk.VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN;
export const CULL_MODE_NONE = nvk.VK_CULL_MODE_NONE;
export const CULL_MODE_FRONT = nvk.VK_CULL_MODE_FRONT_BIT;
export const CULL_MODE_BACK = nvk.VK_CULL_MODE_BACK_BIT;
export const CULL_MODE_ALL = nvk.VK_CULL_MODE_FRONT_AND_BACK;
export const FRONT_FACE_COUNTER = nvk.VK_FRONT_FACE_COUNTER_CLOCKWISE;
export const FRONT_FACE_CLOCKWISE = nvk.VK_FRONT_FACE_CLOCKWISE;
export const BUFFER_USAGE_VERTEX = nvk.VK_BUFFER_USAGE_VERTEX_BUFFER_BIT;
export const BUFFER_USAGE_INDEX = nvk.VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
export const BUFFER_USAGE_STORAGE = nvk.VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
export const BUFFER_USAGE_UNIFORM = nvk.VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT;
export const BUFFER_USAGE_STORAGE_TEXEL = nvk.VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT;
export const BUFFER_USAGE_UNIFORM_TEXEL = nvk.VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT;
export const BUFFER_STAGING_DYNAMIC = 0;
export const BUFFER_STAGING_STATIC = 1;
export const DESCRIPTOR_TYPE_STORAGE = nvk.VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
export const DESCRIPTOR_TYPE_UNIFORM = nvk.VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
export const SHADER_STAGE_NONE = -1;
export const SHADER_STAGE_VERTEX = nvk.VK_SHADER_STAGE_VERTEX_BIT;
export const SHADER_STAGE_FRAGMENT = nvk.VK_SHADER_STAGE_FRAGMENT_BIT;
export const SHADER_STAGE_COMPUTE = nvk.VK_SHADER_STAGE_COMPUTE_BIT;
export const SHADER_STAGE_GEOMETRY = nvk.VK_SHADER_STAGE_GEOMETRY_BIT;
export const SHADER_STAGE_TESSELLATION_CONTROL = nvk.VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT;
export const SHADER_STAGE_TESSELLATION_EVALUATION = nvk.VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT;
export const SHADER_SRC_SPIRV = 0;
export const SHADER_SRC_GLSL = 1;
export const SHADER_SRC_HLSL = 2;
export const BLEND_FACTOR_ZERO = nvk.VK_BLEND_FACTOR_ZERO;
export const BLEND_FACTOR_ONE = nvk.VK_BLEND_FACTOR_ONE;
export const BLEND_FACTOR_SRC_COLOR = nvk.VK_BLEND_FACTOR_SRC_COLOR;
export const BLEND_FACTOR_ONE_MINUS_SRC_COLOR = nvk.VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR;
export const BLEND_FACTOR_DST_COLOR = nvk.VK_BLEND_FACTOR_DST_COLOR;
export const BLEND_FACTOR_ONE_MINUS_DST_COLOR = nvk.VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR;
export const BLEND_FACTOR_SRC_ALPHA = nvk.VK_BLEND_FACTOR_SRC_ALPHA;
export const BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = nvk.VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA;
export const BLEND_FACTOR_DST_ALPHA = nvk.VK_BLEND_FACTOR_DST_ALPHA;
export const BLEND_FACTOR_ONE_MINUS_DST_ALPHA = nvk.VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA;
export const BLEND_FACTOR_CONSTANT_COLOR = nvk.VK_BLEND_FACTOR_CONSTANT_COLOR;
export const BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = nvk.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR;
export const BLEND_FACTOR_CONSTANT_ALPHA = nvk.VK_BLEND_FACTOR_CONSTANT_ALPHA;
export const BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = nvk.VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA;
export const BLEND_FACTOR_SRC_ALPHA_SATURATE = nvk.VK_BLEND_FACTOR_SRC_ALPHA_SATURATE;
export const BLEND_FACTOR_SRC1_COLOR = nvk.VK_BLEND_FACTOR_SRC1_COLOR;
export const BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = nvk.VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR;
export const BLEND_FACTOR_SRC1_ALPHA = nvk.VK_BLEND_FACTOR_SRC1_ALPHA;
export const BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = nvk.VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA;