public void renderSingle(int rotationY, int rotationZ, int rotationXW,
			int translationX, int translationY, int translationZ) {
		int rotationX = 0; // was a parameter
		int centerX = Rasterizer.centreX;
		int centerY = Rasterizer.centreY;
		int sineX = SINE[rotationX];
		int cosineX = COSINE[rotationX];
		int sineY = SINE[rotationY];
		int cosineY = COSINE[rotationY];
		int sineZ = SINE[rotationZ];
		int cosineZ = COSINE[rotationZ];
		int sineXW = SINE[rotationXW];
		int cosineXW = COSINE[rotationXW];
		int transformation = translationY * sineXW + translationZ * cosineXW >> 16;
		for (int vertex = 0; vertex < vertexCount; vertex++) {
			int x = verticesX[vertex];
			int y = verticesY[vertex];
			int z = verticesZ[vertex];
			if (rotationZ != 0) {
				int newX = y * sineZ + x * cosineZ >> 16;
				y = y * cosineZ - x * sineZ >> 16;
				x = newX;
			}
			if (rotationX != 0) {
				int newY = y * cosineX - z * sineX >> 16;
				z = y * sineX + z * cosineX >> 16;
				y = newY;
			}
			if (rotationY != 0) {
				int newX = z * sineY + x * cosineY >> 16;
				z = z * cosineY - x * sineY >> 16;
				x = newX;
			}
			x += translationX;
			y += translationY;
			z += translationZ;
			int newY = y * cosineXW - z * sineXW >> 16;
			z = y * sineXW + z * cosineXW >> 16;
			y = newY;
			vertexScreenZ[vertex] = z - transformation;
			vertexScreenX[vertex] = centerX + (x << 9) / z;
			vertexScreenY[vertex] = centerY + (y << 9) / z;
			if (texturedTriangleCount > 0) {
				vertexMovedX[vertex] = x;
				vertexMovedY[vertex] = y;
				vertexMovedZ[vertex] = z;
			}
		}

		try {
			method483(false, false, 0);
		} catch (Exception _ex) {
		}
	}