2023-09-05 18:05:18 +02:00
|
|
|
/// @func d3d11_cbuffer_begin()
|
|
|
|
///
|
|
|
|
/// @desc Starts building a constant buffer.
|
|
|
|
///
|
|
|
|
/// @see d3d11_cbuffer_end
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_begin() {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_begin", dll_cdecl, ty_real,
|
|
|
|
0);
|
|
|
|
return external_call(_fn);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_end()
|
|
|
|
///
|
|
|
|
/// @desc Finishes building a constant buffer.
|
|
|
|
///
|
|
|
|
/// @return {Real} The ID of the created constant buffer or -1 on fail.
|
|
|
|
///
|
|
|
|
/// @see d3d11_cbuffer_exists
|
|
|
|
/// @see d3d11_cbuffer_update
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_end() {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_end", dll_cdecl, ty_real,
|
|
|
|
0);
|
|
|
|
return external_call(_fn);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_add_bool(_count)
|
|
|
|
///
|
|
|
|
/// @desc Adds a bool into a constant buffer that is currently being built.
|
|
|
|
///
|
|
|
|
/// @param {Real} _count Number of bools to add into the constant buffer.
|
|
|
|
///
|
|
|
|
/// @see d3d11_cbuffer_begin
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_add_bool(_count) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_add_bool", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _count);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_add_int(_count)
|
|
|
|
///
|
|
|
|
/// @desc Adds an int into a constant buffer that is currently being built.
|
|
|
|
///
|
|
|
|
/// @param {Real} _count Number of ints to add into the constant buffer.
|
|
|
|
///
|
|
|
|
/// @see d3d11_cbuffer_begin
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_add_int(_count) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_add_int", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _count);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_add_uint(_count)
|
|
|
|
///
|
|
|
|
/// @desc Adds an uint into a constant buffer that is currently being built.
|
|
|
|
///
|
|
|
|
/// @param {Real} _count Number of uints to add into the constant buffer.
|
|
|
|
///
|
|
|
|
/// @see d3d11_cbuffer_begin
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_add_uint(_count) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_add_uint", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _count);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_add_float(_count)
|
|
|
|
///
|
|
|
|
/// @desc Adds a float into a constant buffer that is currently being built.
|
|
|
|
///
|
|
|
|
/// @param {Real} _count Number of floats to add into the constant buffer.
|
|
|
|
///
|
|
|
|
/// @see d3d11_cbuffer_begin
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_add_float(_count) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_add_float", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _count);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_get_size(_cbuffer)
|
|
|
|
///
|
|
|
|
/// @desc Retrieves size of a constant buffer in bytes.
|
|
|
|
///
|
|
|
|
/// @param {Real} The size of the constant buffer in bytes.
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_get_size(_cbuffer) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_get_size", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _cbuffer);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_update(_cbuffer, _buffer)
|
|
|
|
///
|
|
|
|
/// @desc Updates data of a constant buffer.
|
|
|
|
///
|
|
|
|
/// @param {Real} _cbuffer The ID of the constant buffer.
|
|
|
|
/// @param {Id.Buffer} _buffer A buffer with new data.
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_update(_cbuffer, _buffer) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_update", dll_cdecl, ty_real,
|
|
|
|
2, ty_real, ty_string);
|
|
|
|
return external_call(_fn, _cbuffer, buffer_get_address(_buffer));
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_shader_set_cbuffer_ps(_slot, _cbuffer)
|
|
|
|
///
|
|
|
|
/// @desc Binds a constant buffer to a pixel shader.
|
|
|
|
///
|
|
|
|
/// @param {Real} _slot The slot to bind the constant buffer to.
|
|
|
|
/// @param {Real} _cbuffer The ID of the constant buffer or -1 to ubind the slot.
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_shader_set_cbuffer_ps(_slot, _cbuffer) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_shader_set_cbuffer_ps", dll_cdecl, ty_real,
|
|
|
|
2, ty_real, ty_real);
|
|
|
|
return external_call(_fn, _slot, _cbuffer);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_shader_set_cbuffer_vs(_slot, _cbuffer)
|
|
|
|
///
|
|
|
|
/// @desc Binds a constant buffer to a vertex shader.
|
|
|
|
///
|
|
|
|
/// @param {Real} _slot The slot to bind the constant buffer to.
|
|
|
|
/// @param {Real} _cbuffer The ID of the constant buffer or -1 to ubind the slot.
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_shader_set_cbuffer_vs(_slot, _cbuffer) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_shader_set_cbuffer_vs", dll_cdecl, ty_real,
|
|
|
|
2, ty_real, ty_real);
|
|
|
|
return external_call(_fn, _slot, _cbuffer);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_exists(_cbuffer)
|
|
|
|
///
|
|
|
|
/// @desc Checks whether a constant buffer exists.
|
|
|
|
///
|
|
|
|
/// @param {Real} _cbuffer The ID of the comand buffer.
|
|
|
|
///
|
|
|
|
/// @return {Bool} Returns true if the constant buffer exists.
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_exists(_cbuffer) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_exists", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _cbuffer);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @func d3d11_cbuffer_destroy(_cbuffer)
|
|
|
|
///
|
|
|
|
/// @desc Destroys a constant buffer.
|
|
|
|
///
|
|
|
|
/// @param {Real} _cbuffer The ID of the constant buffer to destroy.
|
2023-11-08 03:11:01 +01:00
|
|
|
function d3d11_cbuffer_destroy(_cbuffer) {
|
|
|
|
if(!GMD3D11_IS_SUPPORTED) return;
|
2023-11-08 08:38:04 +01:00
|
|
|
INLINE
|
2023-09-05 18:05:18 +02:00
|
|
|
static _fn = external_define(
|
|
|
|
GMD3D11_PATH, "d3d11_cbuffer_destroy", dll_cdecl, ty_real,
|
|
|
|
1, ty_real);
|
|
|
|
return external_call(_fn, _cbuffer);
|
|
|
|
}
|