Jump to content
  • Advertisement

Jihodg

Member
  • Content count

    46
  • Joined

  • Last visited

Community Reputation

1154 Excellent

2 Followers

About Jihodg

  • Rank
    Member

Personal Information

  • Role
    Programmer
  • Interests
    Art
    Design
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. have you checked this link? https://mynameismjp.wordpress.com/2010/04/30/a-closer-look-at-tone-mapping/ it compares several tone mapping functions (including the uncharted one) with global and local exposure, it even includes a demo full of sliders to try! this guy always makes amazing posts!
  2. you are missing a fundamental detail!... as others said, the point of tone mapping is to bring down your color values from high range to the displayable low range, but... that high range changes every frame! so you must first compute it to generate an exposure value, usually by getting an average luminance of the current frame... just think about it, if the exposure was the same for every frame with a fixed and constant range, you could just scale all your values in a precomputation step to ensure decent results in the traditional low range... which is basically what was done intuitively before
  3. ohh... ok... thanks!... I saw you had a framework, I will definitely check it out now!
  4. looks good!, congratulations... the paper talks about a demo, it would be nice to have access to it to test performance an have a better grasp of the artifacts the algorithm produces and how well it deals with them.
  5. Jihodg

    Gamma correct? freshen up

    hahaha yes... I found it really odd, but since you are still using the classic and really "hacky" ambient+diffuse+specular lighting model anything was possible ;D most of us have moved on to use some kind of PBR, trying to keep conservation of energy and use parameters to represent physical properties instead, hence the roughness/smoothness and metallic workflows. (even though there are still a lot of hacks and approximations obviously) PS: the "everything in the same linear space" rule applies to whichever lighting model you choose
  6. Jihodg

    Gamma correct? freshen up

    Also, as I said before, I don't know exactly how you are calculating your lighting, but clearly if the material diffuse you showed is multiplied by the diffuse from the texture, the result will be a darker, red tinted, brick texture... and is the ambient material value also multiplied by the light ambient? if so, it would explain the quite dark overall ambient lighting
  7. Jihodg

    Gamma correct? freshen up

    yes, exactly!... and you are correct, if a texture is marked as sRGB format, the color values will be converted to linear upon reading and back to sRGB upon writing.
  8. Jihodg

    Gamma correct? freshen up

    I don't know the actual formulas your are using for your light calculations, but of course all the parameters used should be in the same linear space before operating on them!
  9. Jihodg

    Decals in tiled forward render (Forward+)

    That is a pretty reasonable result of a decal projection, ugly, but reasonable. If you want to "fix" that, you simply have to acknowledge why it is happening and devise a solution accordingly. You could do some opacity fading dependent on the angle difference with the original projection and/or the depth of the OBB... or do some mixing with multiple projections per decal... or use 3D textures for your decals and project that into the full extent of the OBB... etc.
  10. as others have already said, there is nothing really wrong with the results you are getting and is perfectly logical once you truly understand how transformations work... BUT... to address what I understand is what you are trying to accomplish, a game engine (and by extension its editors) will usually CHOOSE a defined order to pick rotation axes... for instance, choose to do EULER rotations always using yaw angle first, then pitch and finally roll, and store those values to create a single final rotation matrix (not applying little rotations incrementally)... this way you can simply set the values in ANY order you want and still have a consistent rotation applied.
  11. as it was said before by swiftcoder, don't really know why you need another context just for offscreen rendering... multiple contexts are useful to do some basic multithreading in opengl, but in that case, you would just have one context per thread and that context is always current in that particular thread, so no context switching is needed
  12. Jihodg

    GLSL Light structure

    if you are using uniform blocks you must use layout( std140 ) or layout( shared ) to ensure the compiler will not optimize away unused uniforms
  13. yep!... it is quite simple actually... you just have to think that the padding goes before the given type to produce the proper alignment of the variable or struct, instead of going after it as a filling!... float is aligned to 4 bytes, float2 aligned to 8 bytes, while both float3 and float4 aligned to 16 bytes
  14. If vulkan rules are anything like opengl, your problem is probably in your last line! You have a bool followed by a float3... the float3 alignment rules would make it to add 3 units (12 bytes) padding following the bool value! float3 followed by a float = 12 bytes + 4 bytes (float3 are aligned to 16 bytes and float to 4), but... float followed by float3 = 4 bytes + 12 bytes padding + 12 bytes + 4 bytes padding
  15. I don't exactly understand the method you are using... but I am guessing is very constrained to your specific use case, like a plane as a low poly version on a more detailed displaced version of it in just one axis. In the general case, the low poly and high poly models don´t have the same topology, and thus, they don´t share the same uv space... in fact, many times the high poly version of a model isn´t even uv unwrapped.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!