 	vec3 vert_polar = cartesian_to_polar(vertex_modelspace);
 	
 	//vec3 vert_dtheta = polar_to_cartesian(vert_polar + vec3(0, step, 0));
-	vec3 vert_dtheta = vec3(rotate(dvec3(0, 1, 0)) * vertex_modelspace);
+	vec3 vert_dtheta = vec3(rotate(vec3(0, 1, 0)) * vertex_modelspace);
 	float height_dtheta = get_height(vert_dtheta);
 
 	//vec3 vert_dphi = polar_to_cartesian(vert_polar + vec3(0, 0, step));

	return cart;
}

dvec4 rot_quart(dvec3 axis) {
	dvec4 q = dvec4(0);
	q.x = axis.x * sinx;
	q.y = axis.y * sinx;
	q.z = axis.z * sinx;


#include <constants.glsl>

const float sinx = sin(grad_step);
const float cosx = cos(grad_step);

vec3 cartesian_to_polar(vec3 cart) {
	vec3 polar;
