Jump to content

Worse with "Hook 5 Paid"?


Recommended Posts

I recently installed the paid version of Hook 5 and immediately started doing some "before & after" comparison tests. I'm actually getting worse results (incorrect lighting) with "Hook 5 Paid" than I did with trusty old "Hook 5 Free" (or even OpenGL.)

 

I tried reusing the exact same "main11.fx" file, but it made no difference. Exact same room should not have different/worse lighting. This is particularly concerning as I don't want any AM/LevDef files I share to produce bad/different results simply because the user has the Free or Paid version of H5. :(

 

Anyone else notice such issues? Is there a "fix"?

 

sample-H5free.jpg

sample-H5paid.jpg

sample-OpenGL.jpg

Link to comment

Things is, for the past few weeks, I've been hard at work making a "Hook 4 Level Definition to H5 Converter" (just the LevDef, no objects) and it was coming along nicely. But now, it discovery that H5$ may produce totally different (worse even) results kinda throws a wrench in the works.

Link to comment

From the beginning I used the paid H5 version for the PC and the free version only for my laptop. And whenever I used rooms or skins from one system on the other, I had to change the settings.

 

That's not the fault of H5$ but the minimalism of the free version.

 

The settings in H5$, on the other hand, can be easily changed via the GUI - I wouldn't want to miss it ?

 

Rain.jpg.180d4a98b8f549dd3722572beb2ef2cd.jpg

 

Link to comment
10 hours ago, OysterMug said:

Things is, for the past few weeks, I've been hard at work making a "Hook 4 Level Definition to H5 Converter" (just the LevDef, no objects) and it was coming along nicely. But now, it discovery that H5$ may produce totally different (worse even) results kinda throws a wrench in the works.

So did you tried playing with settings in the in-game hook5 menu ? Maybe you can get the results you want by changing the exposure of the light or tunning shadows

Link to comment

Hook 5 paid is of course best option if you don´t have a really bad pre 2010 pc. It just have more options to configure and you have to put some time into it first few times you use it. Tired of those people not wanting to pay 1$ once to get paid version and instead they try to tell people basic version is just as good or even better?? Of course paid version with all it´s added features is better in every way, you just need to learn how to use it.

Link to comment

The choice of the envmap is important in order to define the basic mood in the room first of all. A user uploaded a bunch of envmaps to MG some time ago (sorry I forgot the name) You can quickly select them in the GUI and try out the mood. I have uploaded them and they are available at -

 

MEGA zipped 755 mb, unzipped 2.8 gb

 

And don't forget to check the colors, positions and angles of the spots...

Link to comment

(I'm back online.)

 

A lot of users never tweak their "Main11.fx" file (they should), but I look at everything from the standpoint of being able to share my work and have it look right for other users.

 

If H5 users must "tweak" it... which they don't do... just to get the same results, then they are going to get garbage. :(

 

A few more tests. Same room. Exact same "main11.fx" file. Only difference is H5Free vs H5$ installed (also tried with stock & tweaked H5$ main11.fx files). Results should be the same (or better with H5$.) They're not. Not good.

 

Already posted examples above. Here are two more. My "Loft at Night" (free vs Paid.) Notice the missing overhead light and lack of beam/flame on wall light. Free produces much better results. If H5$ can be tweaked to match, great. But how many H5$ users are even aware they are missing something?

Loft Night H5F.png

Loft Night H5$.png

Edited by OysterMug
Link to comment

This is the reason why i dont use hook5.For every room the main fx must be altered in my opinion and this is simply too much work to me.Also after some time is gone,the game crashes to desktop with paid and free version.Also to create the pass files is

very time intensive.For making hd screenshots and comix this may be ok but for creating sequences hook5 is an absolutely no go from what ive experienced.

 

I mostly use OpenGL mode with reshade and some fx shaders .And exept of shaddows it can make a scene looking very good.Just installing hook

for better graphics is not needed in my opinion only if you want to have

hook objects and other stuff it makes sense  but thats not for me. :)

 

Link to comment

I don't think the main.fx settings make such a big difference. They can be set right away in the GUI and you can see the result directly. I always use the same main.fx in most rooms and only occasionally change something to try it out. And the lighting of Oystermug's rooms are set in the room's _pass-file...

 

But what I have noticed is that you can have written a _pass-file as carefully as possible, e.g. for body textures, and they are not correctly adopted by the GUI. You have to insert them by hand and it still takes just 5 minutes. With some handwritten settings of lighting as well...

 

Attached is the main.fx I needed for Fight Club - as can be seen in the screenshots. Maybe it will help... And a little video. You can easily use h5m objects and create spots, move them, rotate them by holding the shift key. With the F2/F3 key, the room can be viewed in 3D or the overlaps of the other light sources...

 

main11.fx

Link to comment
39 minutes ago, RidSol said:

I don't think the main.fx settings make such a big difference. They can be set right away in the GUI and you can see the result directly. I always use the same main.fx in most rooms and only occasionally change something to try it out. And the lighting of Oystermug's rooms are set in the room's _pass-file...

 

But what I have noticed is that you can have written a _pass-file as carefully as possible, e.g. for body textures, and they are not correctly adopted by the GUI. You have to insert them by hand and it still takes just 5 minutes. With some handwritten settings of lighting as well...

 

Attached is the main.fx I needed for Fight Club - as can be seen in the screenshots. Maybe it will help... And a little video. You can easily use h5m objects and create spots, move them, rotate them by holding the shift key. With the F2/F3 key, the room can be viewed in 3D or the overlaps of the other light sources...

 

main11.fx 7.05 kB · 0 downloads

Yeah, i know that h5 has a lot of features and im not against it but to me it takes a lot of extra time to learn how to use it and needs probably a lot of ram which i havent yet

But i agree that it is a usefull graphical extension if you have enough memory and knowledge.Also the scene extractor is a very useful function. :)

 

Link to comment
6 hours ago, RidSol said:

I don't think the main.fx settings make such a big difference.

 

Tweaking the Main11.fx file can make a tremendous difference. I can provide some examples if you are interested.

 

But the main point is that I don't know what's missing from the H5$ Main11.fx file to suppress the overhead lamp shown in the photo, and even if it can be fixed by tweaking the Main11.fx file, most users don't (or even bother to.)

Edited by OysterMug
Link to comment
  • 5 weeks later...

@OysterMug

 

Hi, from my experience, hook5 paid doesn't work like hook5 free. There has been a lot more updates and changes to hook5 paid than to hook5 free. You can set almost all the "engine" settings in the main.fx file. If you open up the hook5 menu with F4, the settings under Graphics are all saved within the main.fx file. Some default room settings like [customizer_environment] for the Customizer and [default_room_environment] for the initial room that you load in VX are saved in that file. All other room settings have to be made in the _level_definition.txt file. You can use more than one setting text file by simply adding them to the [include] section in the _level_definiton.txt. Your _level_definition.txt has to include the basic settings for the room, or at lest point to a settings text file that has these settings in the [include] section. Something like this:

 

[environment]

cubemap =
cubecenter = 0.490000, 1.500000, 3.000000
cubesize = 17.500000, 4.000000, 14.700016
cubecolor = 102, 0, 255, 255
parallax_correction = true
cubesource_angle = 0.000000
cubesource_scale = 1.000000
cubesource_curve = 1.200000
cubesource_saturation = 1.000000
ambient_color = 255, 255, 251
ambient_intensity = 2.000000
lightmaps_enable = false
lightmaps_scale = 1.000000
no_lightmaps_in_cubemap = false
no_level_shadows = false
sky_intensity = 0.700000
hdr_exposure = 1.100000
hdr_bloom_clamp = 1.000000
hdr_bloom_amount = 0.500000
glow_scale = 0.010000
glow_cubemap_scale = 1.000000
glow_softness = 0.750000
saturation_scale = 1.000000
skybox_enable = true
skybox_cubemap =_hook5data\envmaps\kloofendal.dds
skybox_angle = 0.000000
skybox_curve = 5.000000
skybox_saturation = 3.500000
sky_glow = 1.000000
fog_base_level = -1.000000
fog_density = 0.000100
fog_height_density_fallof = 0.000100
fog_sun_scattering_amount = 0.001000
fog_sun_halo_amount = 0.010000
fog_sun_halo_spread = 0.100000
fog_affect_sun = 0.500000
fog_color = 84, 147, 200
wind_dir = 0.000000, 0.000000, 0.000000
wind_strength = 0.000000
wind_noise = 0.000000

LUTEnbale = false
LUTTexture =
LUTTilesSize = 16
LUTTilesAmount = 16
LUTChromaAmount = 0.000000
LUTLumaAmount = 0.000000

as_background = 0

HDRFuncVars_A = 4.700000
HDRFuncVars_B = 0.500000
HDRFuncVars_C = 1.900000
HDRFuncVars_D = 0.050000
EnvDiffuseScale = 1.100000
EnvSpecularScale = 1.000000

 

[sun_light]

type                 = sunlight
enable                 = true
rotation             = -129, -54, 50
color                 = 255, 255, 251
intensity             = 2.500000
shadow_param         = 10.000000, 200.000000
game_control         = false

sunrays_enable = true
sunrays_check_distance = 20
sunrays_step_size = 0.100000
sunrays_density = 0.000200

shadow_enable = true

 

If you open up the ingame hook5 menu, the button level select opens exactly this file, and you can start to edit it to your liking. The spot and omnilights that are missing in your screenshot have to be manually created, like in RidSol's post. You simply have more freedom with hook5paid to light your rooms and more effects, but it comes with a lot of tweaking and editing.

The spotlights and omnilights have different parameters, but the most critical is the shadow bias value. Correctly set, it eliminates the shadow banding/ stripes that might appear on characters and objects. Another thing that strikes me by looking at your pictures is that you have to enable ambient occlusion in the Graphics menu.

 

I hope that helps.

 

Link to comment

Thanks. I eventually was able to improve my results by extensively tweaking the "main11.fx" file so my LevDefs produce results very close to what I was getting before, but it took some work. Most notably though, I get A LOT of "flickering" of lights/textures with H5U (Unlocked) than I did with H5F (Free.)

 

And to think there are MANY users who have never even touched their "main11.fx" file. ?‍♂️

Link to comment

@OysterMug Don't mention it. The flickering might have to do with your iShadowPoolCount = value in the main.fx file. If I remember correctly, the omnilights use six shadow targets and the spotlight uses one. So your iShadowPoolCount has to match that value. I first set up all the lighting in the room and then selectively switch on and off those lights that are not used for the camera view. In that way, I can use multiple light settings for different shots. If I want to have a realistic light setup, I put the omnilights or spots in different locations of the 'real' lamps that are in the scene. If you use the sunlight in any of your scenes/ rooms, you can adjust the split value at which the sunshadows are rendered. Another reason for flickering textures might be that the _pass.txt files for the textures are not setup correctly. Try to experiment with the cull_mode = value. Ranges from 0 to 4. 0 Draw all polygons. 1 polygons directed towards camera. 2 polygons directed away from camera. 3 first polygons directed to camera, then polygons turned away from camera. 4 opposite form 3. 3 is used for objects without alpha blending, whereas 4 is used with alpha blending.

Something that might also cause flickering is z-fighting.

Here are some examples from different rooms I've been modding:

 

 

Asian Living Day4.jpg

screenshot_8.jpg

 

The first picture uses only the sunlight, with the sun split values set in a way that no light bleeding is happening at the ceiling. In the second picture, I use omnilights for the candles and spotlights for the ceiling (Not activated in the pictures). The shadow bias value had to be adjusted for every flame to get rid of the shadow banding on the model and the walls.

Edited by Titanoboa Serpentes
Link to comment
19 hours ago, Titanoboa Serpentes said:

@OysterMug Don't mention it. The flickering might have to do with your iShadowPoolCount = value in the main.fx file.

 

Son-of-a-gun, turns out I didn't even HAVE an "iShadowPoolCount" field in my main11.fx file! (used someone else's and tweaked it, never noticing the missing values.)

  Unfortunately, adding it back (with a default value of 2048) didn't fix the problem. I also tried adding "cull_mode" to the pass files for the table & chairs in my room to see if it had any effect and it didn't. I'm not sure what might be the cause. I captured a short video of what's going on:

 

Video.

 

Any ideas? Thx.

Link to comment

Hi OysterMug, the iShadowPoolCount value is far too high. I assume the flickering in the video comes from the iShadowPoolCount. I think pervokpetr mentioned that a value of 24 might best for performance. The value that you used is the iShadowMapSize = 2048. The MapSize defines how defined the shadows will look. So the math behind it is that you simply sum up all the shadow targets of your omnilights and spotlights. So if you have for example three omnilights and two spotlights you have to have at least a minimum iShadowPoolCount value of 20. If you put the iShadowMapSize = 2048 you will have at most 20 shadows that are baked at runtime into the 2048 shadow map. So the overall shadow targets in your scene should not exceed the IShadowPoolCount value. The flickering is the result of that value. If you use 2048 you will have 2048 shadow targets. I don't know what happens if you put in such a large number, but I think it simply reverts to the default value. I would use a value of 24 and then go upwards from that. I put my content of my main.fx here for you to check against.

If I were to fix the room I would first try to change the number light in such a way that the subjective impression stay the same while keeping the number of lights to a minimum. In the above images of my earlier post I first used three omnilights for each candle. It turned out to eat up lots of fps and to get rid of the flickering was almost impossible let alone for the shadow banding. But it looked the most realistic. Eliminating two omnilights got rid of all the flickering and banding. I just had to place it in a spot inbetween the candles to get nice shadows on my character and the walls of the room.

 

[global_constants]
;to apply changes for this constants you need recompile shaders

;Delay initialization to first resource creation - cause faster run on win10, but cause crash in fullscreenmode
iDelayedInitialization                     = 1        
iShadowPoolCount                            = 24
iShadowMapSize                            = 2048
iLightPackMode                                = 0
iPhysXSolverIterations                    = 15
;iUseMSAA - 0:No MSAA, 1 - MSAAx2, 2 - MSAAx4, 3 - MSAAx8,
iUseMSAA                                        = 0

;keybinds - key_num, shift_state, ctrl_state, 122=F11, 113= F2, 114= F3, 120= F9, 115 =F4, 44= PrintScreen, 119= F8
funcRecompile                                = 122, 0, 1
funcBoundview                                = 113, 0, 1
funcSeparation                                = 114, 0, 0
funcCubemap                                    = 120, 0, 1
funcHookGui                                    = 115, 0, 0
funcScreeshot                                = 44, 0, 0
funcHiResScreeshot                        = 44, 0, 1
funcDOF                                            = 119, 0, 1
funcCamera                                    = 114, 0, 1
        
;all other settings will reload automatically
[global_settings]        
fFovMultiplier                                    = 0.950000
iProfileEnable                                    = 0
iTextureTrackingEnable                    = 0
iLevelDefinitionTrackingEnable    = 0
iSettingsTrackingEnable                 = 0
iEnableBackgroundRendering        = 0
iUseCubemapPrepass                    = 1
iMultithreadRenderEnable              = 0
iMaxThreads                                    = 16
iDoVSynhInWindowed                    = 1
iUseSeparateShadows                     = 0
iUseHalfSSAOTargets                    = 1
fResolutionScale                             = 1.000000
iHairworksMSAA                            = 1

;0-bmp, 1- jpg, 2 - png
cScreenshotFolder                            =C:\Games\The Klub 17 VX\Screenshots
iScreenshotFormat                        = 1

cSharedHookFolder                         =

;iSeparationMode - 0:Anaglyph, 1:SideBySide, 2:OculusHome 3:SideBySide2 4:OpenVR
[anaglyph]
iSeparationMode                         = 0
fAnaglyphSeparation                    = 0.050000
fAnaglyphConvergent                 = 1.242000
iOVREnableReflection                = 0
iOpenVRGammaFix                    = 1
fUIScaleH                                    = 0.400000
fUIScaleV                                    = 0.300000
fSBSBarrelStrength                     = 1.000000
fSBSFovScaleH                             = 0.500000
fSBSFovScaleV                             = 0.500000
fSBSScale                                     = 1.000000
fSBSOffsetX                                 = 0.000000

[render_settings]        
iUseDebug                                    = 0

iUseDiffuseLUT                            = 0
iUseSpecularLUT                        = 0

iUseSkinWetness                        = 1
fSkinWetness                                = 0.000000

iSubsurfaceEnable                        = 1
fSubsurfaceTakeColor                 = 0.500000
iSubsurfaceExcludeIBL             = 0
fSubsurfaceSpecularIBL            = 1.000000
iEpidermalSteps                          = 5
fEpidermalRadius                        = 0.750000
iSubdermalSteps                         = 5
fSubdermalRadius                     = 0.750000
fDiffuseAmount                             = 0.100000
fEpidermalAmount                     = 0.725000
fSubdermalAmount                    = 0.175000
        
iUseEyeShadowing                    = 1
fEyeIrisSize                                = 0.800000
fEyeIrisDepth                                = 0.500000
fEyeShiftUp                                = 0.500000
fEyeSpecular                                = 2.000000
fEyeReflectionAmount                = 0.100000
        
iSSAOEnable                                = 0
fSSAORadius                                = 6.000000
fSSAOStrength                            = 25.000000
fSSAOUnderDirectional             = 0.100000
fSSAOBias                                    = 0.050000
iSSAOBlurEnable                        = 1
iSSAONormalsEnable                = 1
fSSAONormalsFade                    = 0.100000
iMXAOSteps                                = 64
iHBAODetailEnable                    = 1

iSSLREnable                                    = 0
iSSLRStepSize                                = 30
iSSLRStepsCount                            = 60
fSSLRSkipThreshold                        = 0.000000
    
iOutlineEnable                                = 0
fOutlineAmount                                = 0.100000
fOutlineThreshold                            = 10.000000
        
iDOFEnable                                    = 1
iDOFType                                        = 0
iDOFSteps                                    = 1
fDOFFocusSpeed                                = 1.000000
fDOFFocusDistance                            = 2.000000
fDOFBokehBias                                = 0.0
fDOFBokehBiasCurve                        = 0.65
fDOFBokehBrightnessThreshold            = 1.000000
fDOFBokehBrightnessMultipiler            = 2.000000
fDOFRadiusScaleMultiplier                 = 0.200000
        
iSMAAEnable                                    = 1
iSMAAQuality                                = 4

iGlowEnable                                    = 1
fGlowAmount                                    = 1.000000
iHDRBloomEnable                            = 2
iHDRFuncType                                = 1
            
iSharpenEnable                                = 1
fSharpenAmount                                = 0.200000
        
iGrainEnable                                = 0
fGrainSize                                    = 0.100000
fGrainAmount                                = 0.200000

iChromaticAberrationEnable                = 1
fChromaPower                                = 0.030000

fMotionBlurAmount                         = 0.050000
fCinemaLines                                 = 0.000000
RGBOffset                                     = 0.000000, 0.000000, 0.000000

iShadowEnable                                = 1
iShadowBlurStep                            = 3
iShadowBlurStepAlpha                     = 3

fImageSaturation                            = 1.000000
iHiResScreenScale                            = 3

;customizer settings---------------------------------------------------------------------------------

iIBLMaskEnable = 1
iIBLMaskOnlySkin = 1
iIBLMaskSteps = 10
fIBLMaskAmount = 0.400000

[customizer_environment]
cubemap                    = _hook5data\envmaps\garage.dds
cubecenter                 = 0.000000, 2.439999, 0.000000
cubesize                    = 4.000000, 2.500000, 4.000000
cubecolor                = 0, 0, 255, 80
parallax_correction    = true
ambient_color            = 255, 255, 255
ambient_intensity        = 1.000000
sky_intensity            = 3.000000
hdr_exposure            = 1.500000
hdr_bloom_clamp         = 1.000000
hdr_bloom_amount         = 1.000000

skybox_enable = false
skybox_cubemap =

cubesource_angle = 0.000000
cubesource_scale = 4.000000
cubesource_curve = 1.000000
cubesource_saturation = 1.000000
glow_scale = 1.000000
saturation_scale = 1.000000
skybox_angle = 0.000000
skybox_curve = 1.000000
skybox_saturation = 1.000000
fog_base_level = 0.000000
fog_density = 0.000000
fog_height_density_fallof = 0.000000
fog_sun_scattering_amount = 0.000000
fog_sun_halo_amount = 0.000000
fog_sun_halo_spread = 0.000000
fog_affect_sun = 0.000000
fog_color = 255, 255, 255

lightmaps_enable = false
lightmaps_scale = 1.000000
no_lightmaps_in_cubemap = false
no_level_shadows = false
glow_cubemap_scale = 1.000000
glow_softness = 0.750000
as_background = 0
sky_glow = 0.000000
wind_dir = 0.000000, 0.000000, 0.000000
wind_strength = 0.000000
wind_noise = 0.000000
LUTEnbale = false
LUTTexture =
LUTTilesSize = 16
LUTTilesAmount = 16
LUTChromaAmount = 0.000000
LUTLumaAmount = 0.000000

VXGI_Enable = 0
VXGI_AOEnable = 1
VXGI_DiffuseEnable = 1
VXGI_SpecularEnable = 0
VXGI_Quality = 0.100000
VXGI_SamplingRate = 1.000000
VXGI_VoxelSize = 0.040000
VXGI_AOScale = 1.000000
VXGI_AOBias = 0.000000
VXGI_AOCurve = 1.000000
VXGI_AODistance = 1.000000
VXGI_SurfaceInitialOffset = 1.000000
VXGI_SurfaceInitialDistanceFactor = 1.000000
VXGI_LightLeaking = 0
VXGI_TracingResolutionDivider = 4
VXGI_DiffuseScale = 1.000000
VXGI_SpecularScale = 1.000000
VXGI_EmmitanceDirectionScale = 1.000000
VXGI_EmmitanceGlowScale = 3.000000
HDRFuncVars_A = 4.700000
HDRFuncVars_B = 0.500000
HDRFuncVars_C = 1.900000
HDRFuncVars_D = 0.050000
EnvDiffuseScale = 1.000000
EnvSpecularScale = 1.000000

[customizer_sunlight]
type                         = sunlight
enable                     = true
rotation                 = 221, -4, 0
color                        = 210, 210, 210
intensity                = 1.500000
shadow_param            = 0.000000, 0.000000
game_control            = true

sunrays_enable = true
sunrays_check_distance = 20
sunrays_step_size = 0.200000
sunrays_density = 0.000100

;default room settings---------------------------------------------------------------------------------
shadow_enable = true

[default_room_environment]
cubemap                    = ; _hook5data\envmaps\EveningField.dds
cubecenter                 = 0.000000, 0.000000, 0.000000
cubesize                    = 15.000000, 15.000000, 15.000000
cubecolor                = 0, 0, 255, 80
parallax_correction    = true
ambient_color            = 255, 255, 255
ambient_intensity     = 1.000000
sky_intensity            = 1.000000
hdr_exposure            = 3.000000
hdr_bloom_clamp         = 1.000000
hdr_bloom_amount         = 1.000000
skybox_enable = false
skybox_cubemap =
skybox_angle = 0.000000
cubesource_scale = 1.000000
cubesource_curve = 1.000000
cubesource_angle = 0.000000
glow_scale = 1.000000
saturation_scale = 1.000000

cubesource_saturation = 1.000000
lightmaps_enable = false
glow_cubemap_scale = 1.000000
glow_softness = 0.750000
skybox_curve = 1.000000
skybox_saturation = 1.000000
sky_glow = 1.000000
fog_base_level = 0.000000
fog_density = 0.000000
fog_height_density_fallof = 0.000000
fog_sun_scattering_amount = 0.000000
fog_sun_halo_amount = 0.000000
fog_sun_halo_spread = 0.000000
fog_affect_sun = 0.000000
fog_color = 255, 255, 255
wind_dir = 0.000000, 0.000000, 0.000000
wind_strength = 0.000000
wind_noise = 0.000000

lightmaps_scale = 1.000000
no_lightmaps_in_cubemap = false
no_level_shadows = false
as_background = 0
LUTEnbale = false
LUTTexture =
LUTTilesSize = 16
LUTTilesAmount = 16
LUTChromaAmount = 0.000000
LUTLumaAmount = 0.000000
VXGI_Enable = 0
VXGI_AOEnable = 1
VXGI_DiffuseEnable = 1
VXGI_SpecularEnable = 0
VXGI_Quality = 0.100000
VXGI_SamplingRate = 1.000000
VXGI_VoxelSize = 0.040000
VXGI_AOScale = 1.000000
VXGI_AOBias = 0.000000
VXGI_AOCurve = 1.000000
VXGI_AODistance = 1.000000
VXGI_SurfaceInitialOffset = 1.000000
VXGI_SurfaceInitialDistanceFactor = 1.000000
VXGI_LightLeaking = 0
VXGI_TracingResolutionDivider = 4
VXGI_DiffuseScale = 1.000000
VXGI_SpecularScale = 1.000000
VXGI_EmmitanceDirectionScale = 1.000000
VXGI_EmmitanceGlowScale = 3.000000
HDRFuncVars_A = 4.700000
HDRFuncVars_B = 0.500000
HDRFuncVars_C = 1.900000
HDRFuncVars_D = 0.050000
EnvDiffuseScale = 1.000000
EnvSpecularScale = 1.000000

[default_room_sunlight]
type                         = sunlight
enable                     = true
rotation                 = 225, 310, 0
color                        = 255, 231, 202
intensity                = 1.000000
shadow_param            = 5.000000, 60.000000
game_control            = true

sunrays_enable = true
sunrays_check_distance = 20
sunrays_step_size = 0.100000
sunrays_density = 0.000100

shadow_enable = true

[gui_settings]
select_mode = 0

 

You can ignore all the VXGI values since pervokpetr unfortunately hasn't implemented VXGI yet. Hopefully he will do so again sometimes because that would simply be the last step in realism.

 

By the way what room do you use in your video?

 

Link to comment

Thx. Slight goof on my part. my "iShadowPoolCount" is also 24. I accidentally read the line below ("iShadowMapSize") set to 2048.

 

Your Main11.fx contains a lot more fields than the one I used. Unfortunately, using your settings didn't resolve the issue. :(

 

I think I've noticed flickering in other rooms, but I'm not sure which. The only one I know for sure has trouble is this one ("Single Apartment"). That suggested the problem is its LevDef, not my "Main11.fx". I'm not sure if the Room is available for download. Let me know.

 

I uploaded my "Main11.fx" here. You can try it to see if it creates "flicker".

 

Thx

Link to comment

Yes, it seems to be the _levdef. I assume you are using the "old" file that was made at the time the room was created.

In the first part of the video I used an old _levdef with few lights. In the second part one with envmap and without lights....

 

 

 

Oh yeah - I took the first _levdef I found and didn't change any setting. You can always do that later ;o)

However, the location of the envmap should be adjusted. Usually _hook5data\envmaps\(whatever).dds.

The coordinates of the original file can be used for the spot and omni lights, but color, intensity etc must be adjusted in the GUI...

 

_level_definition.7z

Edited by RidSol
completition
Link to comment

(Video link is broken. :()

 

Thx for the follow-up. I'm not sure why, but your revised LevDef doesn't solve the problem. Not sure why. The only things left are my video card (an old GTX970) and/or my textures.

 

I might try scaling them down to see if my 970 handles them better.

 

I found another room with flicker, but oddly, what flickers is Actor 1's hair... which is the same no matter the room. Bizarre.

 

Edited by OysterMug
Link to comment

Hi OysterMug, I compared your main.fx with mine. The iUseSeparateShadows might be one reason the shadows are flickering or, like in RidSol's video, get switched on and off. I had to leave them off in order to get rid of flickering lights in the distance in the spa room. The other thing that I can think of is the camera frustrum. If you have different lights defined in your level_definition.txt, you have to make sure that you don't use too many shadow casting lights that are in camera view. In your video, the chairs have I assume three shadows. That means that you have three lights defined. If you move the camera, the shadows are rendered, but if they exceed the iShadowPoolcount value they aren't rendered at all. It all depends on the lights in the camera view. Try to increase the value until the flickering ends. I would try a value of let's say 48. The GTX 970 is fine for hook5 paid. I use a GTX 980ti. But I would definitely scale down the textures because the 970 only uses 3.5 GB of memory with full bandwidth. The last 512 MB are at half bandwidth, if I recall that correctly, so you might get micro stuttering if the 3.5 GB are exceeded.

Here's a the _level_definition for the Asian Living room:

 

[include]
_fire.txt = true
_lights.txt = false
_candles.txt = false
_nighttime.txt = false
_daytime.txt = true
_mirrors.txt = false

 

I only use the include section to quickly switch between different lighting setups. And here's the _daytime.txt and _nighttime.txt

 

_ daytime.txt

 

Spoiler

[environment]
cubemap                 =
ambient_color             = 255, 241, 224
ambient_intensity         = 5.000000
parallax_correction     = true
sky_intensity            = 1.000000    
hdr_exposure            = 1.100000
hdr_bloom_clamp         = 1.000000
hdr_bloom_amount         = 0.000100
cubecenter                 = 0.250000, 2.050000, 1.300000
cubesize                = 4.200005, 2.410000, 3.860000
cubecolor                = 255, 0, 255, 100
skybox_enable = true
skybox_cubemap =_hook5data\envmaps\autumn_hockey_envmap.dds

cubesource_angle = 0.000000
cubesource_scale = 1.000000
cubesource_curve = 1.200000
cubesource_saturation = 1.000000
lightmaps_enable = false
lightmaps_scale = 1.000000
no_lightmaps_in_cubemap = false
no_level_shadows = false
glow_scale = 0.000000
glow_cubemap_scale = 0.000000
glow_softness = 0.750000
saturation_scale = 1.000000
skybox_angle = 30.000002
skybox_curve = 1.000000
skybox_saturation = 1.000000
sky_glow = 1.000000
fog_base_level = 0.000000
fog_density = 0.000000
fog_height_density_fallof = 0.000000
fog_sun_scattering_amount = 0.000000
fog_sun_halo_amount = 0.000000
fog_sun_halo_spread = 0.000000
fog_affect_sun = 0.000000
fog_color = 255, 255, 255
wind_dir = 0.000000, 0.000000, 0.000000
wind_strength = 0.000000
wind_noise = 0.000000
LUTEnbale = false
LUTTexture =
LUTTilesSize = 16
LUTTilesAmount = 16
LUTChromaAmount = 0.000000
LUTLumaAmount = 0.000000

as_background = 0

VXGI_Enable = 1
VXGI_AOEnable = 1
VXGI_DiffuseEnable = 1
VXGI_SpecularEnable = 0
VXGI_Quality = 0.100000
VXGI_SamplingRate = 1.000000
VXGI_VoxelSize = 0.040000
VXGI_AOScale = 1.000000
VXGI_AOBias = 0.000000
VXGI_AOCurve = 1.000000
VXGI_AODistance = 1.000000
VXGI_SurfaceInitialOffset = 1.000000
VXGI_SurfaceInitialDistanceFactor = 1.000000
VXGI_LightLeaking = 0
VXGI_TracingResolutionDivider = 4
VXGI_DiffuseScale = 1.000000
VXGI_SpecularScale = 1.000000
VXGI_EmmitanceDirectionScale = 1.000000
VXGI_EmmitanceGlowScale = 3.000000
HDRFuncVars_A = 4.700000
HDRFuncVars_B = 0.500000
HDRFuncVars_C = 1.900000
HDRFuncVars_D = 0.050000
EnvDiffuseScale = 1.000000
EnvSpecularScale = 1.000000

 

[sun_light]
type                     = sunlight
enable                     = true
rotation                 = 210, 82, 0
color                    = 255, 255, 255
intensity                = 3.000000
shadow_param            = 5.000000, 10.000000
game_control            = false
sunrays_enable = true
sunrays_check_distance = 10
sunrays_step_size = 0.040000
sunrays_density = 0.001100
shadow_enable = true

 

_nighttime.txt

 

Spoiler

[environment]
cubemap                 =
ambient_color             = 255, 241, 224
ambient_intensity         = 1.500000
parallax_correction     = true
sky_intensity            = 0.035000    
hdr_exposure            = 1.000000
hdr_bloom_clamp         = 1.000000
hdr_bloom_amount         = 1.000000
cubecenter                 = 0.250000, 2.090000, 1.400000
cubesize                = 4.120003, 2.430000, 3.830000
cubecolor                = 255, 0, 255, 100
skybox_enable = true
skybox_cubemap =_hook5data\envmaps\autumn_hockey_envmap.dds

cubesource_angle = 0.000000
cubesource_scale = 1.000000
cubesource_curve = 1.100000
cubesource_saturation = 1.000000
lightmaps_enable = false
lightmaps_scale = 1.000000
no_lightmaps_in_cubemap = false
no_level_shadows = false
glow_scale = 1.000000
glow_cubemap_scale = 1.000000
glow_softness = 0.750000
saturation_scale = 1.000000
skybox_angle = 30.000002
skybox_curve = 1.000000
skybox_saturation = 1.000000
sky_glow = 0.100000
fog_base_level = 0.000000
fog_density = 0.000000
fog_height_density_fallof = 0.000000
fog_sun_scattering_amount = 0.000000
fog_sun_halo_amount = 0.000000
fog_sun_halo_spread = 0.074000
fog_affect_sun = 0.142000
fog_color = 255, 177, 161
wind_dir = 0.000000, 0.000000, 0.000000
wind_strength = 0.000000
wind_noise = 0.000000
LUTEnbale = false
LUTTexture =
LUTTilesSize = 16
LUTTilesAmount = 16
LUTChromaAmount = 0.000000
LUTLumaAmount = 0.000000

as_background = 0

VXGI_Enable = 1
VXGI_AOEnable = 1
VXGI_DiffuseEnable = 1
VXGI_SpecularEnable = 0
VXGI_Quality = 0.100000
VXGI_SamplingRate = 1.000000
VXGI_VoxelSize = 0.040000
VXGI_AOScale = 1.000000
VXGI_AOBias = 0.000000
VXGI_AOCurve = 1.000000
VXGI_AODistance = 1.000000
VXGI_SurfaceInitialOffset = 1.000000
VXGI_SurfaceInitialDistanceFactor = 1.000000
VXGI_LightLeaking = 0
VXGI_TracingResolutionDivider = 4
VXGI_DiffuseScale = 1.000000
VXGI_SpecularScale = 1.000000
VXGI_EmmitanceDirectionScale = 1.000000
VXGI_EmmitanceGlowScale = 3.000000
HDRFuncVars_A = 4.700000
HDRFuncVars_B = 0.500000
HDRFuncVars_C = 1.900000
HDRFuncVars_D = 0.050000
EnvDiffuseScale = 1.000000
EnvSpecularScale = 1.000000

 

[sun_light]
type                     = sunlight
enable                     = true
rotation                 = 211, 77, 10
color                    = 215, 229, 255
intensity                = 1.000000
shadow_param            = 5.000000, 10.000000
game_control            = false
sunrays_enable = true
sunrays_check_distance = 10
sunrays_step_size = 0.040000
sunrays_density = 0.001100
shadow_enable = true

 

 

The _daytime and _nighttime.txt don't have any lights defined except the [sun_light] parameters.

 

The lights are defined in the _lights.txt

 

Spoiler

[omni_square_lamp]
enable = true
type = omnilight
position = 2.801993, 1.082447, 1.932288
color = 255, 233, 217
intensity = 1.200000
diffuse_only = false
near = 0.300000
source_radius = 0.050000
source_curve = 1.200000
range_fade = 1
cast_shadow = true
shadow_bias = 0.004020
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[spot_ceiling_1]
enable = false
type = spotlight
position = 2.240171, 4.083334, -1.141430
rotation = -90.000000, 0.000000, 0.000000
color = 255, 241, 224
intensity = 2.500000
diffuse_only = false
fov = 1.360000
near = 0.950000
source_radius = 0.001000
source_curve = 1.200000
range_fade = 1
fov_fade = 1
cast_shadow = true
shadow_bias = 0.004730
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[spot_ceiling_2]
enable = true
type = spotlight
position = 0.235473, 4.122234, -1.134691
rotation = -90.000000, 0.000000, 0.000000
color = 255, 241, 224
intensity = 2.500000
diffuse_only = false
fov = 1.360000
near = 0.950000
source_radius = 0.001000
source_curve = 1.200000
range_fade = 1
fov_fade = 1
cast_shadow = true
shadow_bias = 0.004730
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[spot_ceiling_3]
enable = false
type = spotlight
position = -1.770833, 4.130161, -1.135023
rotation = -90.000000, 0.000000, 0.000000
color = 255, 241, 224
intensity = 2.500000
diffuse_only = false
fov = 1.360000
near = 0.950000
source_radius = 0.001000
source_curve = 1.200000
range_fade = 1
fov_fade = 1
cast_shadow = true
shadow_bias = 0.004730
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[spot_ceiling_4]
enable = true
type = spotlight
position = -1.772563, 4.099203, 3.913965
rotation = -90.000000, 0.000000, 0.000000
color = 255, 241, 224
intensity = 2.500000
diffuse_only = false
fov = 1.360000
near = 0.950000
source_radius = 0.001000
source_curve = 1.200000
range_fade = 1
fov_fade = 1
cast_shadow = true
shadow_bias = 0.004730
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[spot_ceiling_5]
enable = false
type = spotlight
position = 0.236814, 4.107139, 3.912316
rotation = -90.000000, 0.000000, 0.000000
color = 255, 241, 224
intensity = 2.500000
diffuse_only = false
fov = 1.360000
near = 0.950000
source_radius = 0.001000
source_curve = 1.200000
range_fade = 1
fov_fade = 1
cast_shadow = true
shadow_bias = 0.004730
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[spot_ceiling_6]
enable = true
type = spotlight
position = 2.245612, 4.107448, 3.908663
rotation = -90.000000, 0.000000, 0.000000
color = 255, 241, 224
intensity = 2.500000
diffuse_only = false
fov = 1.360000
near = 0.950000
source_radius = 0.001000
source_curve = 1.200000
range_fade = 1
fov_fade = 1
cast_shadow = true
shadow_bias = 0.004870
clamp_range = 0.000000
bound_color = 255, 229, 51, 153
script_name =

parent_name =

 

[omni_table_lamp]
enable = true
type = omnilight
position = -1.638718, 0.858202, -0.585030
color = 255, 233, 217
intensity = 1.500000
diffuse_only = false
near = 0.120000
source_radius = 0.005000
source_curve = 1.000000
range_fade = 1
cast_shadow = true
shadow_bias = 0.001040
clamp_range = 0.000000
bound_color = 255, 128, 0, 128
script_name =
parent_name =

 

[omni_main_lamp_1]
enable = false
type = omnilight
position = 0.230000, 3.238310, 1.109232
color = 255, 233, 217
intensity = 1.500000
diffuse_only = false
near = 0.200000
source_radius = 0.001000
source_curve = 1.000000
range_fade = 1
cast_shadow = true
shadow_bias = 0.004640
clamp_range = 0.000000
bound_color = 255, 128, 0, 128
script_name =
parent_name =

 

[omni_main_lamp_2]
enable = false
type = omnilight
position = 0.230000, 3.238310, 1.668491
color = 255, 233, 217
intensity = 1.500000
diffuse_only = false
near = 0.200000
source_radius = 0.001000
source_curve = 1.000000
range_fade = 1
cast_shadow = true
shadow_bias = 0.004640
clamp_range = 0.000000
bound_color = 255, 128, 0, 128
script_name =
parent_name =

 

 

The shadow_bias and clamp_range might be important. The clamp_range gives you control over the range the shadows are drawn. If you lower that value you can see that the shadows are cut off right in the viewport of the camera. The shadow_bias value can be adjusted to get rid of banding artifacts if two or more shadows interact or if banding occurs on walls and objects.

Another significant factor is the environmental bound. You have to adjust the size of the environmental bound that it completely encompasses the room or structure/ objects. Activate the Use Parallax Correction checkbox, too. I found that it also affects the shadow rendering.

 

Edited by Titanoboa Serpentes
Link to comment
23 hours ago, Titanoboa Serpentes said:

Hi OysterMug, I compared your main.fx with mine. The iUseSeparateShadows might be one reason the shadows are flickering or, like in RidSol's video, get switched on and off. I had to leave them off in order to get rid of flickering lights in the distance in the spa room.

 

Thx for the reply.

 

I tried switching off "iUseSeparateShadows" in my "Main11.fx" (by setting it to 0) but nothing changed. I also tried upping "iShadowPoolcount" to 48 but that too had no effect.

 

The room is "Single Apartment 337", an old H4 room from 2016. No flicker under H4 (it can be difficult to get H4 to work with VX as H4 is a memory hog.)

 

I converted the old H4 LevDef using my "H4 to H5 LevDef Converter" (still in Beta), so it is possible something about the conversion needs to be adjusted, though I can't imagine what. If it IS something lacking or wrong in my conversion, I need to know so I can fix it.

 

I've upload the room here. I included my converted H5-conpatible LevDef so others can see if they experience the same problem and can find a fix.

 

Thx.

Edited by OysterMug
Link to comment

Hi OysterMug, thanks for the room upload.

 

I took a quick look at your level definition file. The original H4 one and the H5 that you converted. Here are some findings/ suggestions: The RGB values have to be three integer values each, e.g. 127,123,255. I don't know what the last value of the color value is (maybe Alpha), but the first three values have to be converted by multiplying with 255.

You have 29 spotlights in your _level_definition.txt file and a sunlight. That means at lest 30 shadow targets. They also miss certain parameters like enable = true/false, intensity = x, diffuse_only = true/false, source_radius = x, source_curve = x, cast_shadow = true, shadow_bias = x, clamp_range = 0.000000.

I have the same flickering with your _level_definition.txt (H5)  like in the video you uploaded earlier. In my opinion, there are far too many lights in that level definition and the textures have wrong spec maps. The blue channel is used for glow in H5 and the green channel is used for specularity. The red channel of the spec map is used for metallicity, so for example, the kitchen counters have a metallic finish to them. I don't know about the way hook4 uses those channels in the spec map, but if you want to convert a room from Hook4 to Hook5 you also have to redo the spec maps and normal maps.

Several spotlights seemed to have been duplicated by the conversion and the rotation values have been changed or mixed up.

The _pass files for the textures don't use the correct object name. Hook5 doesn't use BumpedCloth, but CustomStatic, and you have to have normal maps for each texture.

 

I will correct the complete room and send you the files to compare.

Screenshot Normal Debug.jpg

 

Above image: Normal debug view. The normals are autogenerated, so there is no surface definition.

 

Specular Texture Original.jpg

 

Above: Specular texture applied with exaggerated glow_intensity parameter in the _pass file.

Below: Corrected spotlights for the table and all textures fixed.

 

Specular Texture Fixed.jpg

 

Hopefully you can adjust your converter. I will come back to you with the fixed room.

Edited by Titanoboa Serpentes
Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use