Allow viewmodel to draw in a second pass (r_viewmodelpass 1)
This commit is contained in:
parent
576547f249
commit
cee8a25d82
2 changed files with 18 additions and 13 deletions
|
@ -46,6 +46,8 @@ var vector autocvar_cl_logocolor = [255,0,0];
|
|||
var vector autocvar_con_color = [255,150,0];
|
||||
var vector autocvar_vgui_color = [255,170,0];
|
||||
var vector autocvar_v_gunofs = [0,0,0];
|
||||
var int autocvar_r_viewmodelpass = 0;
|
||||
var float autocvar_r_viewmodelfov = 90.0f;
|
||||
|
||||
/* particle descriptors */
|
||||
var float PARTICLE_BLOOD;
|
||||
|
|
|
@ -267,19 +267,22 @@ CSQC_UpdateView(float w, float h, float focus)
|
|||
setproperty(VF_SKYROOM_CAMERA, g_skypos + realpos);
|
||||
}
|
||||
|
||||
/* draw the world/entities */
|
||||
renderscene();
|
||||
|
||||
/* Now we draw the viewmodel in a second pass */
|
||||
clearscene();
|
||||
setproperty(VF_MIN, video_mins);
|
||||
setproperty(VF_SIZE, video_res);
|
||||
setproperty(VF_ANGLES, view_angles + pl.punchangle);
|
||||
setproperty(VF_DRAWWORLD, 0);
|
||||
setproperty(VF_AFOV, cvar("cl_viewmodelfov"));
|
||||
setproperty(VF_ORIGIN, pSeat->vPlayerOrigin + pl.view_ofs);
|
||||
View_DrawViewModel();
|
||||
renderscene();
|
||||
/* draw the viewmodel in a second pass if desired */
|
||||
if (autocvar_r_viewmodelpass) {
|
||||
renderscene();
|
||||
clearscene();
|
||||
setproperty(VF_MIN, video_mins);
|
||||
setproperty(VF_SIZE, video_res);
|
||||
setproperty(VF_ANGLES, view_angles + pl.punchangle);
|
||||
setproperty(VF_DRAWWORLD, 0);
|
||||
setproperty(VF_AFOV, autocvar_r_viewmodelfov);
|
||||
setproperty(VF_ORIGIN, pSeat->vPlayerOrigin + pl.view_ofs);
|
||||
View_DrawViewModel();
|
||||
renderscene();
|
||||
} else {
|
||||
View_DrawViewModel();
|
||||
renderscene();
|
||||
}
|
||||
|
||||
/* Run this on all players */
|
||||
for (entity b = world; (b = find(b, ::classname, "player"));) {
|
||||
|
|
Loading…
Reference in a new issue