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.

Reply via email to