Files
distant-horizons-sharded/src/main/java/com/seibel/lod/enums/LodTemplate.java
T
2021-09-25 23:17:17 -05:00

60 lines
1.7 KiB
Java

/*
* This file is part of the LOD Mod, licensed under the GNU GPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.enums;
import com.seibel.lod.builders.lodTemplates.AbstractLodTemplate;
import com.seibel.lod.builders.lodTemplates.CubicLodTemplate;
import com.seibel.lod.builders.lodTemplates.DynamicLodTemplate;
import com.seibel.lod.builders.lodTemplates.TriangularLodTemplate;
/**
* Cubic, Triangular, Dynamic
*
* @author James Seibel
* @version 8-4-2021
*/
public enum LodTemplate
{
/** LODs are rendered as
* rectangular prisms. */
CUBIC(new CubicLodTemplate()),
/** LODs smoothly transition between
* each other. */
TRIANGULAR(new TriangularLodTemplate()),
/** LODs smoothly transition between
* each other, unless a neighboring LOD
* is at a significantly different height. */
DYNAMIC(new DynamicLodTemplate());
public final AbstractLodTemplate template;
private LodTemplate(AbstractLodTemplate newTemplate)
{
template = newTemplate;
}
public int getBufferMemoryForSingleLod(int maxVerticalData)
{
return template.getBufferMemoryForSingleNode(maxVerticalData);
}
}