Added render target stuff to RT-based entities + added func_fake_worldportal + fixed point_camera SetSkyMode input not allowing an integer parameter

This commit is contained in:
Blixibon 2020-08-14 13:28:11 -05:00
parent 9224c92cc5
commit c26557f36e
2 changed files with 69 additions and 3 deletions

View File

@ -9139,6 +9139,61 @@
"NOTE: currently, you cannot use reflective glass in scenes with water, and you can only " +
"have 1 reflective glass in your view frustum ( + pvs ) at a time."
[
ReflectRenderTarget(choices) : "Reflection render target" : "_rt_WaterReflection" : "Makes this mirror target a specific RT texture for its reflection instead of just _rt_WaterReflection. You can manually type in any RT texture name if you know what you're doing or leave this blank to disable reflection entirely." =
[
"_rt_WaterReflection" : "_rt_WaterReflection (default)"
"_rt_WaterRefraction" : "_rt_WaterRefraction (requires no nearby refract mirrors)"
"_rt_Camera" : "_rt_Camera (requires no active point_camera)"
"" : "None (disables reflection)"
]
RefractRenderTarget(choices) : "Refraction render target" : "_rt_WaterRefraction" : "Makes this mirror target a specific RT texture for its refraction instead of just _rt_WaterRefraction. You can manually type in any RT texture name if you know what you're doing or leave this blank to disable refraction entirely." =
[
"_rt_WaterRefraction" : "_rt_WaterRefraction (default)"
"_rt_WaterReflection" : "_rt_WaterReflection (requires no nearby reflect mirrors)"
"_rt_Camera" : "_rt_Camera (requires no active point_camera)"
"" : "None (disables refraction)"
]
// Inputs
input SetReflectRenderTarget(string) : "Sets the reflection render target."
input SetRefractRenderTarget(string) : "Sets the refraction render target."
]
@SolidClass base(func_brush) = func_fake_worldportal :
"Used to produce perfectly reflective glass that renders world + entities. " +
"Typically, you want your glass brush to have nodraw on all non-reflective surfaces " +
"and you want to use a shader like lightmappedreflective in your material applied " +
"to the non-nodraw surfaces. See hl2/materials/glass/reflectiveglass001.vmt for an example. " +
"NOTE: currently, you cannot use reflective glass in scenes with water, and you can only " +
"have 1 reflective glass in your view frustum ( + pvs ) at a time."
[
target(target_destination) : "Target Plane" : "" : "Target entity to render from."
PlaneAngles(angle) : "Plane Direction (Pitch Yaw Roll)" : "0 0 0" : "Angles indicating the direction to look in. (added onto target entity's angles)"
SkyMode(choices) : "Sky Mode" : 2 : "How to draw the sky through this view." =
[
2 : "Draw sky texture"
1 : "Draw 3D skybox"
]
scale(integer) : "View scale" : 0 : "Scales the view, similar to sky_camera scale."
RenderTarget(choices) : "Render target" : "" : "Makes this fake world portal target a specific RT texture instead of just _rt_WaterReflection. You can manually type in any RT texture name if you know what you're doing." =
[
"" : "_rt_WaterReflection (default)"
"_rt_Camera" : "_rt_Camera (requires no active point_camera)"
"_rt_WaterRefraction" : "_rt_WaterRefraction (requires no nearby refract mirrors)"
]
FogController(target_destination) : "Fog Controller" : "" : "Makes this fake world portal use the properties of a specific env_fog_controller when rendering the scene. If no fog controller is specified, the scene will use the local player's fog parameters."
// Inputs
input SetTargetPlane(target_destination) : "Sets the target plane."
input SetTargetPlaneAngle(vector) : "Sets the target plane direction."
input SetSkyMode(integer) : "Sets the sky mode. NOTE: 2 = draw sky texture, 1 = draw 3D skybox!"
input SetRenderTarget(string) : "Sets the render target."
input SetFogController(target_destination) : "Sets the fog controller."
]
@PointClass base(Targetname) = env_particle_performance_monitor :

View File

@ -5003,7 +5003,7 @@
@PointClass base(Targetname, Parentname, Angles) studioprop("models/editor/camera.mdl") frustum(FOV,fogstart,fogend,250 250 250,-1) = point_camera : "Camera"
[
// MAPBASE: sphere(fogstart) sphere(fogend) is distracting, especially with the frustum.
// Instead of using spheres, we just stuck it into the frustum peroperties.
// Instead of using spheres, we just stuck it into the frustum properties.
spawnflags(Flags) =
[
@ -5032,13 +5032,24 @@
2 : "Draw sky texture"
1 : "Draw 3D skybox"
]
RenderTarget(choices) : "Render target" : "" : "Makes this camera target a specific RT texture instead of just _rt_Camera, allowing for multiple active point_cameras. Monitors for this camera must use materials which draw the target texture. You can manually type in any RT texture name if you know what you're doing." =
[
"_rt_Camera" : "_rt_Camera (default)"
"_rt_Camera0" : "_rt_Camera0"
"_rt_Camera1" : "_rt_Camera1"
"_rt_Camera2" : "_rt_Camera2"
"_rt_WaterReflection" : "_rt_WaterReflection (requires no nearby water/mirrors)"
"_rt_WaterRefraction" : "_rt_WaterRefraction (requires no nearby water/mirrors)"
]
// Inputs
input ChangeFOV(string) : "Changes camera's FOV over time"
input SetOnAndTurnOthersOff(void) : "Turn the camera on, and turn all other cameras off."
input SetOnAndTurnOthersOff(void) : "Turn the camera on, and turn all other cameras off. Does not affect cameras using different render targets."
input SetOn(void) : "Turn the camera on."
input SetOff(void) : "Turn the camera off."
input SetSkyMode(void) : "Sets the sky mode. NOTE: 2 = draw sky texture, 1 = draw 3D skybox!"
input SetSkyMode(integer) : "Sets the sky mode. NOTE: 2 = draw sky texture, 1 = draw 3D skybox!"
input SetRenderTarget(string) : "Sets the render target."
]
@PointClass base(point_camera) studioprop("models/editor/camera.mdl") = point_camera_ortho : "Orthographic Camera"