star-3d

Surface structuring for efficient 3D geometric queries
git clone git://git.meso-star.fr/star-3d.git
Log | Files | Refs | README | LICENSE

commit f5fc8331ac52720b2f8ee1921dbad58aceccb7b3
parent f137f001adc114ffbe1395d7c1c74615447ef96f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 17 Apr 2015 15:04:21 +0200

Minor modification of the s3d_sampler test

Diffstat:
Msrc/test_s3d_sampler.c | 22++++++++++++++++++++++
1 file changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/test_s3d_sampler.c b/src/test_s3d_sampler.c @@ -36,6 +36,16 @@ #include <rsys/float3.h> +#define NSAMPS 4096 + +static float +rand_canonic(void) +{ + int r; + while((r = rand()) == RAND_MAX); + return (float)r / (float)RAND_MAX; +} + int main(int argc, char** argv) { @@ -52,6 +62,7 @@ main(int argc, char** argv) struct s3d_attrib attr0, attr1; struct cbox_desc desc; float uv[2]; + size_t i; unsigned ntris, nverts; (void)argc, (void)argv; @@ -157,6 +168,17 @@ main(int argc, char** argv) NCHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1); CHECK(s3d_sampler_end_sampling(sampler), RES_OK); + CHECK(s3d_sampler_begin_sampling(sampler), RES_OK); + FOR_EACH(i, 0, NSAMPS) { + const float u = rand_canonic(); + const float v = rand_canonic(); + const float w = rand_canonic(); + CHECK(s3d_sampler_get(sampler, u, v, w, &prim, uv), RES_OK); + CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0), RES_OK); + /* printf("%f %f %f\n", SPLIT3(attr0.value));*/ + } + CHECK(s3d_sampler_end_sampling(sampler), RES_OK); + CHECK(s3d_sampler_ref_get(NULL), RES_BAD_ARG); CHECK(s3d_sampler_ref_get(sampler), RES_OK); CHECK(s3d_sampler_ref_put(NULL), RES_BAD_ARG);