This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository direct3d.
View the commit online.
commit 1a8b0a9a958f2e1900fc3a1b8ea1154ec2e406d5
Author: Vincent Torri <vto...@outlook.fr>
AuthorDate: Wed Dec 4 05:59:53 2024 +0100
add also a rectangle with the texture
---
src/d3d_7.c | 53 ++++++++++++++++++++++++++++++++++-------------------
src/shader_7.hlsl | 3 +--
2 files changed, 35 insertions(+), 21 deletions(-)
diff --git a/src/d3d_7.c b/src/d3d_7.c
index eb5bdc4..59b32d5 100644
--- a/src/d3d_7.c
+++ b/src/d3d_7.c
@@ -84,7 +84,7 @@ typedef struct
UINT index_count;
} Object;
-static Object *objects[1];
+static Object *objects[2];
/************************** D3D11 **************************/
@@ -912,7 +912,7 @@ Object *rectangle_new(D3d *d3d,
unsigned char b,
unsigned char a)
{
- Vertex vertices[4];
+ Vertex vertices[4] = { 0 };
unsigned int indices[6];
D3D11_BUFFER_DESC desc_buffer;
D3D11_SUBRESOURCE_DATA data_sr;
@@ -1024,10 +1024,13 @@ void object_free(Object *o)
if (!o)
return ;
- if (o->type == OBJECT_TYPE_TEXTURE)
+ switch (o->type)
{
- ID3D11ShaderResourceView_Release(o->texture_view);
- ID3D11Texture2D_Release(o->texture);
+ case OBJECT_TYPE_TEXTURE:
+ ID3D11ShaderResourceView_Release(o->texture_view);
+ ID3D11Texture2D_Release(o->texture);
+ default:
+ break;
}
ID3D11Buffer_Release(o->index_buffer);
ID3D11Buffer_Release(o->vertex_buffer);
@@ -1050,11 +1053,11 @@ void d3d_scene_begin(D3d *d3d)
data);
objects[0] = o;
- /* o = rectangle_new(d3d, */
- /* 520, 120, */
- /* 200, 100, */
- /* 0, 0, 255, 255); /\* r, g, b, a *\/ */
- /* objects[1] = o; */
+ o = rectangle_new(d3d,
+ 520, 120,
+ 200, 100,
+ 0, 0, 255, 255); /* r, g, b, a */
+ objects[1] = o;
}
void d3d_scene_end(void)
@@ -1107,10 +1110,6 @@ void d3d_render(D3d *d3d)
d3d->d3d_pixel_shader,
NULL,
0);
- ID3D11DeviceContext_PSSetSamplers(d3d->d3d_device_ctx,
- 0,
- 1,
- &d3d->d3d_sampler_state);
/*
* Output Merger stage
@@ -1134,11 +1133,27 @@ void d3d_render(D3d *d3d)
0);
/* pixel shader stage */
- if (objects[i]->type == OBJECT_TYPE_TEXTURE)
- ID3D11DeviceContext_PSSetShaderResources(d3d->d3d_device_ctx,
- 0,
- 1,
- &objects[i]->texture_view);
+ switch (objects[i]->type)
+ {
+ case OBJECT_TYPE_RECTANGLE:
+ ID3D11DeviceContext_PSSetShaderResources(d3d->d3d_device_ctx,
+ 0,
+ 1,
+ &objects[i]->texture_view);
+ break;
+ case OBJECT_TYPE_TEXTURE:
+ ID3D11DeviceContext_PSSetShaderResources(d3d->d3d_device_ctx,
+ 0,
+ 1,
+ &objects[i]->texture_view);
+ ID3D11DeviceContext_PSSetSamplers(d3d->d3d_device_ctx,
+ 0,
+ 1,
+ &d3d->d3d_sampler_state);
+ break;
+ default:
+ break;
+ }
/* draw */
ID3D11DeviceContext_DrawIndexed(d3d->d3d_device_ctx,
diff --git a/src/shader_7.hlsl b/src/shader_7.hlsl
index 3bb5865..1e27ce6 100644
--- a/src/shader_7.hlsl
+++ b/src/shader_7.hlsl
@@ -36,6 +36,5 @@ SamplerState sampler_ : register(s0);
float4 main_ps(ps_input input) : SV_TARGET
{
- //return input.color;
- return texture_.Sample(sampler_, input.uv);
+ return texture_.Sample(sampler_, input.uv) + input.color;
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.