.
This commit is contained in:
parent
bf7a2ef987
commit
6163781659
1 changed files with 26 additions and 12 deletions
|
@ -46729,12 +46729,14 @@ namespace cimg_library_suffixed {
|
|||
x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
|
||||
x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
|
||||
x2 = (int)projections(n2,0), y2 = (int)projections(n2,1),
|
||||
x3 = (int)projections(n3,0), y3 = (int)projections(n3,1);
|
||||
x3 = (int)projections(n3,0), y3 = (int)projections(n3,1),
|
||||
xc = (x0 + x1 + x2 + x3)/4, yc = (y0 + y1 + y2 + y3)/4;
|
||||
const float
|
||||
z0 = vertices(n0,2) + Z + _focale,
|
||||
z1 = vertices(n1,2) + Z + _focale,
|
||||
z2 = vertices(n2,2) + Z + _focale,
|
||||
z3 = vertices(n3,2) + Z + _focale;
|
||||
z3 = vertices(n3,2) + Z + _focale,
|
||||
zc = (z0 + z1 + z2 + z3)/4;
|
||||
|
||||
switch (render_type) {
|
||||
case 0 :
|
||||
|
@ -46810,13 +46812,19 @@ namespace cimg_library_suffixed {
|
|||
case 4 : {
|
||||
const float
|
||||
lightprop0 = lightprops(n0), lightprop1 = lightprops(n1),
|
||||
lightprop2 = lightprops(n2), lightprop3 = lightprops(n3);
|
||||
lightprop2 = lightprops(n2), lightprop3 = lightprops(n3),
|
||||
lightpropc = (lightprop0 + lightprop1 + lightprop2 + lightprop2)/4;
|
||||
if (zbuffer)
|
||||
draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,lightprop0,lightprop1,lightprop2,opacity).
|
||||
draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,lightprop0,lightprop2,lightprop3,opacity);
|
||||
draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,xc,yc,zc,pcolor,lightprop0,lightprop1,lightpropc,opacity).
|
||||
draw_triangle(zbuffer,x1,y1,z1,x2,y2,z2,xc,yc,zc,pcolor,lightprop1,lightprop2,lightpropc,opacity).
|
||||
draw_triangle(zbuffer,x2,y2,z2,x3,y3,z3,xc,yc,zc,pcolor,lightprop2,lightprop3,lightpropc,opacity).
|
||||
draw_triangle(zbuffer,x3,y3,z3,x0,y0,z0,xc,yc,zc,pcolor,lightprop3,lightprop0,lightpropc,opacity);
|
||||
else
|
||||
draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,lightprop0,lightprop1,lightprop2,opacity).
|
||||
draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,lightprop0,lightprop2,lightprop3,opacity);
|
||||
draw_triangle(x0,y0,x1,y1,xc,yc,pcolor,lightprop0,lightprop1,lightpropc,opacity).
|
||||
draw_triangle(x1,y1,x2,y2,xc,yc,pcolor,lightprop1,lightprop2,lightpropc,opacity).
|
||||
draw_triangle(x2,y2,x3,y3,xc,yc,pcolor,lightprop2,lightprop3,lightpropc,opacity).
|
||||
draw_triangle(x3,y3,x0,y0,xc,yc,pcolor,lightprop3,lightprop0,lightpropc,opacity);
|
||||
|
||||
#ifdef cimg_use_board
|
||||
if (pboard) {
|
||||
board.setPenColorRGBi((unsigned char)(color[0]),
|
||||
|
@ -46837,13 +46845,19 @@ namespace cimg_library_suffixed {
|
|||
lx0 = (unsigned int)lightprops(n0,0), ly0 = (unsigned int)lightprops(n0,1),
|
||||
lx1 = (unsigned int)lightprops(n1,0), ly1 = (unsigned int)lightprops(n1,1),
|
||||
lx2 = (unsigned int)lightprops(n2,0), ly2 = (unsigned int)lightprops(n2,1),
|
||||
lx3 = (unsigned int)lightprops(n3,0), ly3 = (unsigned int)lightprops(n3,1);
|
||||
lx3 = (unsigned int)lightprops(n3,0), ly3 = (unsigned int)lightprops(n3,1),
|
||||
lxc = (lx0 + lx1 + lx2 + lx3)/4, lyc = (ly0 + ly1 + ly2 + ly3)/4;
|
||||
if (zbuffer)
|
||||
draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
|
||||
draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,light_texture,lx0,ly0,lx2,ly2,lx3,ly3,opacity);
|
||||
draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,xc,yc,zc,pcolor,light_texture,lx0,ly0,lx1,ly1,lxc,lyc,opacity).
|
||||
draw_triangle(zbuffer,x1,y1,z1,x2,y2,z2,xc,yc,zc,pcolor,light_texture,lx1,ly1,lx2,ly2,lxc,lyc,opacity).
|
||||
draw_triangle(zbuffer,x2,y2,z2,x3,y3,z3,xc,yc,zc,pcolor,light_texture,lx2,ly2,lx3,ly3,lxc,lyc,opacity).
|
||||
draw_triangle(zbuffer,x3,y3,z3,x0,y0,z0,xc,yc,zc,pcolor,light_texture,lx3,ly3,lx0,ly0,lxc,lyc,opacity);
|
||||
else
|
||||
draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
|
||||
draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,light_texture,lx0,ly0,lx2,ly2,lx3,ly3,opacity);
|
||||
draw_triangle(x0,y0,x1,y1,xc,yc,pcolor,light_texture,lx0,ly0,lx1,ly1,lxc,lyc,opacity).
|
||||
draw_triangle(x1,y1,x2,y2,xc,yc,pcolor,light_texture,lx1,ly1,lx2,ly2,lxc,lyc,opacity).
|
||||
draw_triangle(x2,y2,x3,y3,xc,yc,pcolor,light_texture,lx2,ly2,lx3,ly3,lxc,lyc,opacity).
|
||||
draw_triangle(x3,y3,x0,y0,xc,yc,pcolor,light_texture,lx3,ly3,lx0,ly0,lxc,lyc,opacity);
|
||||
|
||||
#ifdef cimg_use_board
|
||||
if (pboard) {
|
||||
const float
|
||||
|
|
Loading…
Reference in a new issue