96 if (lengthMult <= 0f || widthMult <= 0f ||
width <= 0f ||
length <= 0f)
return;
106 float w =
width * widthMult;
107 float len =
length * lengthMult;
113 float fadeInPortion = Math.min(w/2f, len/4f);
114 float fadeInTex = fadeInPortion / len;
115 float flameTexSpan = 1f;
118 flameTexSpan = len / w * 0.25f;
125 GL11.glEnable(GL11.GL_TEXTURE_2D);
126 GL11.glEnable(GL11.GL_BLEND);
127 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
131 for (
float f = 1f; f <= num; f++) {
132 float b = alphaMult * f / num;
133 float wMult = 1f - ((f - 1f) / (num - 1f));
134 float lMult = f / num;
135 lMult = 0.5f + 0.5f * lMult;
138 float texPlus = (f - 1f) * 1.0f / num;
140 GL11.glBegin(GL11.GL_QUAD_STRIP);
142 GL11.glTexCoord2f(
texOffset + texPlus, 0 + bit);
143 GL11.glVertex2f(0f, -w/2f * wMult);
144 GL11.glTexCoord2f(
texOffset + texPlus, 1 - bit);
145 GL11.glVertex2f(0f, w/2f * wMult);
148 GL11.glTexCoord2f(
texOffset + fadeInTex + texPlus, 0 + bit);
149 GL11.glVertex2f(-fadeInPortion * lMult, -w/2f * wMult);
150 GL11.glTexCoord2f(
texOffset + fadeInTex + texPlus, 1 - bit);
151 GL11.glVertex2f(-fadeInPortion * lMult, w/2f * wMult);
154 GL11.glTexCoord2f(
texOffset + flameTexSpan + texPlus, 0 + bit);
155 GL11.glVertex2f(-len * lMult, -w/2f * wMult);
156 GL11.glTexCoord2f(
texOffset + flameTexSpan + texPlus, 1 - bit);
157 GL11.glVertex2f(-len * lMult, w/2f * wMult);