将已绘制的 g2d.DrawlLine() 的颜色更改为透明

问题描述 投票:0回答:0

你好朋友最近我制作了一个 3d 引擎,我可以在其中绘制任何 3d 形状它只需要坐标例如:

// this makes a cube in my 3d engine 

int size = 150;
double[][] cube = {
    {0, 0, 0}, {size, 0, 0},
    {size, 0, 0}, {size, size, 0},
    {size, size, 0}, {0, size, 0},
    {0, size, 0}, {0, 0, 0},
    {0, 0, size}, {size, 0, size},
    {size, 0, size}, {size, size, size},
    {size, size, size}, {0, size, size},
    {0, size, size}, {0, 0, size},
    {0, 0, 0}, {0, 0, size},
    {size, 0, 0}, {size, 0, size},
    {size, size, 0}, {size, size, size},
    {0, size, 0}, {0, size, size}
};

MAKE3D(cube, g, new Color(0,0,0), degx, degy, degz);
//degx, y, z means rotation angles by which I can rotate the 3d model. 

我正在为动画使用 for 循环

for(double f=1;f!=360;f+=0.05){
       // ROTATION degree(ANGLES)
 double degx=f;
  double degy=f;
  double degz=f; 

int size = 150;
double[][] cube = {
    {0, 0, 0}, {size, 0, 0},
    {size, 0, 0}, {size, size, 0},
    {size, size, 0}, {0, size, 0},
    {0, size, 0}, {0, 0, 0},
    {0, 0, size}, {size, 0, size},
    {size, 0, size}, {size, size, size},
    {size, size, size}, {0, size, size},
    {0, size, size}, {0, 0, size},
    {0, 0, 0}, {0, 0, size},
    {size, 0, 0}, {size, 0, size},
    {size, size, 0}, {size, size, size},
    {0, size, 0}, {0, size, size}
};

MAKE3D(cube, g, new Color(0,0,0), degx, degy, degz);
MAKE3D(cube,g,new Color(255,255,255),degx,degy,degz);
g2d.clearRect(0, 0, 4000, 4000);
}

在这段代码中,我只是在每一帧的立方体线上放了一条白线来擦除最后一帧。

是否有任何其他方法可以在循环结束时使立方体的线条透明。因为使用白线移除最后一帧变得很明显并且影响它后面的其他 3d 模型的颜色

注意:- 我正在使用 java 及其 g2d 图形库,我正在使用 g2d.drawLine() 方法来制作立方体的线条。

java graphics 3d
© www.soinside.com 2019 - 2024. All rights reserved.