I did some digging and found it It’s stored in the pi_server.exe:
"format_ver": 2,
"name":"Pimax P2 5K Formal",
"product":"Pimax P2C",
"usb_vid":1155,
"usb_pid":257,
"default_eye_relief":0.013,
"use_tracker":"light_house",
"has_physical_ipd_adjust":true,
"support_controller_pair":true,
"need_keep_display_alive":true,
"support_hmd_standby_mode":false,
"support_hmd_bl_open_close":false,
"support_hmd_brainwarp":false,
"support_hmd_parallel_projection_led_indicator":true,
"min_firmware_version":"2.1.255.147",
"displays": [
{
"enable": true,
"edid_vid":53838,
"edid_pid":4121,
"display_scan_dir": "TB",
"v_size":0.12096,
"h_size":0.13608,
"gap":0.0037,
"pixel_settle_time":0.0,
"pixel_persist_time":0.0,
"display_shutter_type":"global"
}
],
"render":{
"double_buffer":false,
"allow_extend_mode":false,
"pixels_per_tan_angle_at_center_rate":1.25,
"lens_separation_to_ipd_rate":0.0669,
"eyes":[
{
"rotate":270,
"fov_fix_degree":10,
"lens_fix_degree":-4,
"distortion_enable":true,
"view_port": "left",
"extra_predict_time":0.009
},
{
"rotate":90,
"fov_fix_degree":-10,
"lens_fix_degree":4,
"distortion_enable":true,
"view_port": "right",
"extra_predict_time":0.154
}
],
"fov":{
"default_fov_level":1,
"extra":[1,1],
"extra_fix":[6,6]
},
"hidden_area":{
"enable":true,
"triangle_split_to":10,
"triangles-custom-fov":[
0.4,0.0, 0.0,0.0, 0.0,0.4,
0.0,0.6, 0.0,1.0, 0.4,1.0,
1.0,0.2, 1.0,0.0, 0.8,0.0,
0.8,1.0, 1.0,1.0, 1.0,0.8
],
"triangles_fix-custom-fov":[
0.4,0.0, 0.0,0.0, 0.0,0.4,
0.0,0.6, 0.0,1.0, 0.4,1.0,
1.0,0.2, 1.0,0.0, 0.8,0.0,
0.8,1.0, 1.0,1.0, 1.0,0.8
],
"triangles":[
0.2,0.0, 0.0,0.0, 0.0,0.2,
0.0,0.8, 0.0,1.0, 0.2,1.0,
1.0,0.2, 1.0,0.0, 0.8,0.0,
0.8,1.0, 1.0,1.0, 1.0,0.8
],
"triangles_fix":[
1.0,0.2, 1.0,0.0, 0.8,0.0,
0.8,1.0, 1.0,1.0, 1.0,0.8
]
}
},
"lens":{
"separation":0.100,
"adc_to_separation_K":[4960.0,-0.168],
"diameter":0.072,
"inner_diameter":0.035,
"MetersPerTanAngleAtCenter":0.03919542,
"v_center_off":0,
"distortion_param":
{
"eqn": "CatmullRom17",
"K":[1.0000,1.0484,1.1042,1.1800,1.2650,1.3450,1.4200,1.4700,1.4900,1.5000,1.5100,1.5100,1.5200,1.5400,1.5670,1.5900,1.6100,1.6260 ],
"ChromaticAberration":[-0.005,-0.007,0.008,0.023],
"MaxRadius": 1.4757009417836655,
"EyeRelief": 0.018
}
}
}
See the “lens” part. The distortion seems to be specified by 17 ‘spline points’ as per ‘CatmullRom17’. You can google "Catmullrom10’ for some info on the 10 points version (I guess for regular FoV hmds)
Haven’t tried messing with the params yet, will try later, but if you want to try yourself please keep in mind that the pi_server.exe contains various of these config files for different HMD’s, you need to edit that “Pimax P2 5K Formal” for the 5k+ version.