
one.empty3.lasttests.TestTubeVisit Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of empty3-library-3d Show documentation
Show all versions of empty3-library-3d Show documentation
3D rendering engine. Plus modelling. Expected glsl textures 3d and 2d rendering3D primitives, and a lot of scenes' samples to test.+ Game Jogl reworked, Calculator (numbers and vectors). Java code parser implementation starts (<=1.2)
The newest version!
/*
*
* * Copyright (c) 2024. Manuel Daniel Dahmen
* *
* *
* * Copyright 2024 Manuel Daniel Dahmen
* *
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
* * You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
*
*
*/
package one.empty3.lasttests;
import one.empty3.library.*;
import one.empty3.library.core.nurbs.CourbeParametriquePolynomialeBezier;
import one.empty3.library.core.nurbs.FctXY;
import one.empty3.library.core.testing.TestObjetSub;
import one.empty3.library.core.tribase.Tubulaire3;
import one.empty3.library.core.tribase.Tubulaire3refined;
import java.awt.*;
import java.io.File;
public class TestTubeVisit extends TestObjetSub {
private static final int NUM_FRAMES_1PTS = 100;
private static int TOTAL_POINTS = 30;
private static int ACTUAL_POINTS = 8;
private final Tubulaire3 tubulaire3refined= new Tubulaire3();
private int currentPoint = 0;
public static void main(String[] args) throws Exception {
TestTubeVisit testTubeVisit = new TestTubeVisit();
testTubeVisit.setMaxFrames(1);
testTubeVisit.setResolution(Resolution.HD1080RESOLUTION.x(), Resolution.HD1080RESOLUTION.y());
testTubeVisit.loop(true);
new Thread(testTubeVisit).start();
}
@Override
public void ginit() {
super.ginit();
z().texture(new ColorTexture(Color.BLACK.getRGB()));
z().setFORCE_POSITIVE_NORMALS(true);
z().setDisplayType(ZBufferImpl.SURFACE_DISPLAY_TEXT_QUADS );
CourbeParametriquePolynomialeBezier elem = tubulaire3refined.getSoulCurve().getElem();
for(int i=0; i<10; i++) {
elem.getCoefficients().setElem(Point3D.random(1000.0), i);
currentPoint++;
setMaxFrames(getMaxFrames()+NUM_FRAMES_1PTS);
}
tubulaire3refined.texture(new ImageTexture(new File("resources/sol_sableux.jpg")));
tubulaire3refined.getDiameterFunction().setElem(new FctXY() {
@Override
public double result(double input) {
return 100.0;
}
});
tubulaire3refined.setIncrU(0.01);
tubulaire3refined.setIncrV(0.01);
}
@Override
public void finit() throws Exception {
super.finit();
double t = 1.0*frame()/getMaxFrames();
if(t>1.*ACTUAL_POINTS/TOTAL_POINTS*2 && currentPoint
© 2015 - 2025 Weber Informatics LLC | Privacy Policy