.
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),
|
x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
|
||||||
x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
|
x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
|
||||||
x2 = (int)projections(n2,0), y2 = (int)projections(n2,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
|
const float
|
||||||
z0 = vertices(n0,2) + Z + _focale,
|
z0 = vertices(n0,2) + Z + _focale,
|
||||||
z1 = vertices(n1,2) + Z + _focale,
|
z1 = vertices(n1,2) + Z + _focale,
|
||||||
z2 = vertices(n2,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) {
|
switch (render_type) {
|
||||||
case 0 :
|
case 0 :
|
||||||
|
@ -46810,13 +46812,19 @@ namespace cimg_library_suffixed {
|
||||||
case 4 : {
|
case 4 : {
|
||||||
const float
|
const float
|
||||||
lightprop0 = lightprops(n0), lightprop1 = lightprops(n1),
|
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)
|
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,x1,y1,z1,xc,yc,zc,pcolor,lightprop0,lightprop1,lightpropc,opacity).
|
||||||
draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,lightprop0,lightprop2,lightprop3,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
|
else
|
||||||
draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,lightprop0,lightprop1,lightprop2,opacity).
|
draw_triangle(x0,y0,x1,y1,xc,yc,pcolor,lightprop0,lightprop1,lightpropc,opacity).
|
||||||
draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,lightprop0,lightprop2,lightprop3,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
|
#ifdef cimg_use_board
|
||||||
if (pboard) {
|
if (pboard) {
|
||||||
board.setPenColorRGBi((unsigned char)(color[0]),
|
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),
|
lx0 = (unsigned int)lightprops(n0,0), ly0 = (unsigned int)lightprops(n0,1),
|
||||||
lx1 = (unsigned int)lightprops(n1,0), ly1 = (unsigned int)lightprops(n1,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),
|
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)
|
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,x1,y1,z1,xc,yc,zc,pcolor,light_texture,lx0,ly0,lx1,ly1,lxc,lyc,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,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
|
else
|
||||||
draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
|
draw_triangle(x0,y0,x1,y1,xc,yc,pcolor,light_texture,lx0,ly0,lx1,ly1,lxc,lyc,opacity).
|
||||||
draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,light_texture,lx0,ly0,lx2,ly2,lx3,ly3,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
|
#ifdef cimg_use_board
|
||||||
if (pboard) {
|
if (pboard) {
|
||||||
const float
|
const float
|
||||||
|
|
Loading…
Reference in a new issue