corrections[i].monitor_name = (char *)malloc(namelen+1);
strcpy(corrections[i].monitor_name, name_ptr);
- corrections[i].keystone_vertical = values[i*4]/10000.0f;
- corrections[i].cylinder_depth = values[i*4+1]/10000.0f;
- corrections[i].vertical_center = values[i*4+2]/10000.0f;
- corrections[i].perspective = values[i*4+3]/10000.0f;
+ corrections[i].keystone_vertical = values[i*4]/4096.0f;
+ corrections[i].cylinder_depth = values[i*4+1]/4096.0f;
+ corrections[i].vertical_center = values[i*4+2]/4096.0f;
+ corrections[i].perspective = values[i*4+3]/4096.0f;
name_ptr += namelen+1;
}
strcpy(name_ptr, corrections[i].monitor_name);
name_ptr += strlen(name_ptr)+1;
- values[i*4] = corrections[i].keystone_vertical*10000;
- values[i*4+1] = corrections[i].cylinder_depth*10000;
- values[i*4+2] = corrections[i].vertical_center*10000;
- values[i*4+3] = corrections[i].perspective*10000;
+ values[i*4] = corrections[i].keystone_vertical*4096;
+ values[i*4+1] = corrections[i].cylinder_depth*4096;
+ values[i*4+2] = corrections[i].vertical_center*4096;
+ values[i*4+3] = corrections[i].perspective*4096;
}
root = DefaultRootWindow(display);
vertex_data = (float *)malloc(nvertices*3*sizeof(float));
for(i=0; i<nvertices*3; ++i)
- vertex_data[i] = geometry_data[1+i]/10000.0f;
+ vertex_data[i] = geometry_data[1+i]/4096.0f;
view->nelements = tessellation*((tessellation+1)*2+1)-1;
monitor->geometry_data[0] = t;
for(i=0; i<3; ++i)
- monitor->geometry_data[1+i] = eye[i]*10000;
+ monitor->geometry_data[1+i] = eye[i]*4096;
for(y=0; y<2; ++y)
for(x=0; x<2; ++x)
{
i = 1+(1+y*2+x)*3;
- monitor->geometry_data[i] = ((x-0.5f)*distance/monitor->perspective)*10000;
- monitor->geometry_data[i+1] = (eye[1]+look[1]*distance-(y-monitor->vertical_center)*look[2]*distance/monitor->perspective/aspect)*10000;
- monitor->geometry_data[i+2] = (eye[2]+look[2]*distance+(y-monitor->vertical_center)*look[1]*distance/monitor->perspective/aspect)*10000;
+ monitor->geometry_data[i] = ((x-0.5f)*distance/monitor->perspective)*4096;
+ monitor->geometry_data[i+1] = (eye[1]+look[1]*distance-(y-monitor->vertical_center)*look[2]*distance/monitor->perspective/aspect)*4096;
+ monitor->geometry_data[i+2] = (eye[2]+look[2]*distance+(y-monitor->vertical_center)*look[1]*distance/monitor->perspective/aspect)*4096;
}
for(i=0; i<(t+1)*(t+1)*3; ++i)
- monitor->geometry_data[16+i] = vertex_data[i]*10000;
+ monitor->geometry_data[16+i] = vertex_data[i]*4096;
for(y=t; y<=t; --y)
for(x=t; x<=t; --x)
monitor = find_monitor_by_name(screen, name_ptr);
if(monitor)
{
- monitor->keystone_vertical = values[i*4]/10000.0f;
- monitor->cylinder_depth = values[i*4+1]/10000.0f;
- monitor->vertical_center = values[i*4+2]/10000.0f;
- monitor->perspective = values[i*4+3]/10000.0f;
+ monitor->keystone_vertical = values[i*4]/4096.0f;
+ monitor->cylinder_depth = values[i*4+1]/4096.0f;
+ monitor->vertical_center = values[i*4+2]/4096.0f;
+ monitor->perspective = values[i*4+3]/4096.0f;
if(monitor->enabled)
update_monitor_vertices(screen, monitor);