riverreal

Members
  • Content count

    76
  • Joined

  • Last visited

Community Reputation

797 Good

About riverreal

  • Rank
    Member
  1. I originally wanted to be a graphics programmer(still want to at some degree), but I'm not sure of it's future now. Isn't it too late for me or for the OP to become a graphics programmer right now? Demand is becoming lesser. Pay may be good right now for seniors but what about 5-10 years later. Nobody knows, but I want to hear your thoughts. :) And thank you, I read your posts alot. They are really useful.
  2. I'm trying to implement normal mapping in deferred rendering. The tangents are generated with Assimp. It returns HasTangentsAndBitangents to true. In this specific scene I have a bunch of plants, the statue and the rock loaded with Assimp. (.obj file) And other simple generated geometry like spheres, boxes and planes.   I have 2 problems:   1. The Loaded models don't have correct tangents as opposed to the generated geometry. Should I be calculating the tangents manually without using Assimp?   2. Even if the tangents are correct in the generated geometry I'm getting really noisy specular with the normal maps. I tested the albedo + normal map in Unity to see if the problem was in the normal map, but it was woking as expected, nothing was wrong with it. It just gives really sharp results in my engine, really noisy. Could it be the lighting calculation that is wrong? But judging from the debug normals it seems like it's working.   Here are the normals, with and without normal map.   Without normal map, just surface normal.       With normal map.     Notice how the normals in some models are completely wrong.   My shader calculation for the final normal output is:   In HLSL float3 CalcNormal(float3 normalMap, float3 surfaceNormalW, float3 tangentW) { float3 normalT = 2.0f * normalMap - 1.0f; float3 N = surfaceNormalW; float3 T = normalize(tangentW - dot(tangentW, N) * N); //This is why we don't need provide binormals, we can calculate it. float3 B = cross(N, T); //In case of mirroring if (dot(cross(N, T), B) < 0.0) T = T * -1.0; float3x3 TBN = float3x3(T, B, N); float3 result = mul(normalT, TBN); return result; }
  3.   Thank you so much. That solved the problem.
  4. I am using D3D11 and I have just implemented HDR Bloom and realized I had a problem with 1 pixel leaking on the otherside of the screen. It seems like I had it before implementing the bloom, it's just that the bloom made it more visible, so I could notice it.         The right side has the light source or in this case just a bright background. Tonemapping and eye adaptation making it brighter. And when bloom is applied it is more noticeable. I use deferred rendering so the problem should be there, because even if I disable tonemapping, eye adaptation and bloom, or even FXAA, I see a really small pixel on the sides. These small pixels seem to be the "continuation" or just a duplication of the pixel on the other side, but all of the sides have this problem.   Then I checked the Graphics Debugger. But when I look the render targets and it's outputs, there is no pixel leaking, only after bloom with it's gaussian blur. The bright pass texture doesn't have that problem, the otherside of the light source is pure black (0, 0, 0).   But then why do I keep getting the problem after disabling bloom? If the problem is even before that why isn't it showing on the render targets in the debugger? The problem shouldn't be when rendering to the backbuffer, because if so, it shouldn't be glowing with the bloom.   And yes, I do use AdjustWindowRect. I tried to render the scene in a smaller viewport but it gives the same results. It doesn't render anything outside, but the leaking still occurs. It does the same in FullScreen mode.   I don't know what to do now. Thank you in advance.
  5. This can be a really dumb question but I can't find the correct way to do it. I have deferred rendering working but with a single light of each(directional, point, spot). Which is a waste because deferred rendering is at its finest when used with many sources of light at the same time. But when I try to implement it I don't know how to pass the light information of the scene to the shader that processes all the lights, since HLSL doesn't have dynamic arrays. I read somewhere that setting a Max. number of lights for the array in HLSL would do it. But then, how to avoid looping through the rest of the light array that is not needed.   For example, let's set the max num of lights to 500. This scene in particular uses only 10 point lights. Should I be sending 500 point light data to the shader but with a boolean that confirms if the point light is active or not? Meaning that only 10 would have active = true. That's how I think it can be done, but I'm not exactly sure if that's a right way to do it. Isn't it costly to pass 490 useless data to the shader?   And one question regarding rendering pipeline. What part of the hardware would "bottleneck" when passing a large amount of data to the shader? I know processing through the data in the shader would be GPU's work, but what about just passing the information?   Thank you very much.    
  6. DX11 DX11 black screen when windowed.

    It works perfectly now, thank you very much to both! What I don't understand is why now, and not before. Anyway it's solved now, thank you.
  7. I was working on a small framework for dx11 that does the basic stuff. But I took a 4 month break from it. The last time I run the executable 4 months ago it was working fine, but now that I run it I get black screen when using the dedicated graphics card on windowed mode.   It works fine when using intel graphics 4600 and 5500 both on windowed mode. Also works fine when I'm fullscreen with the dedicated graphics.   I tried to disable V-Sync to see if the problem was in the refresh rate but it keeps giving me the black screen in windowed mode. And it actually detects my graphics card since it displays the GPU name on the caption of the window correctly. And if I check the GPU usage with something like Open Hardware Monitor, even if I get a black screen, the GPU is still working, and not in IDLE like when you don't have any program running.   I updated the GPU drivers recently and I'm running on Windows 10. I didn't touch the framework during my break, and I left it working perfectly. Is it a problem with one of the new Windows 10 updates in the last 4 months? Or the new drivers? I use Win32 to manage window, but since it displays in fullscreen I don't think that's the problem.   Any idea what is going wrong?   Thank you.
  8. Portfolio Question.

    I don't mind working as a mobile game programmer at first, but my end goal is to be a console/pc game programmer. And I'm not sure if I should avoid mobile game developer job offers when looking for my first ever programmer job. Or is it alright?   And what do the employers want me to have as portfolio if I am aiming for console development? Having mobile games on the portfolio is ok? How well is a game made with an engine (unity, unreal, etc) perceived? Is it required?     Right now I have as portfolio only 2 games made by teams but only me as the programmer (mostly): -Rock, paper, sissors-like card game (2d). Made with Cocos2d-x/C++, for Android. -Terraria-like but more construction based game (2d). Made with Cocos2d-x/C++, for Android.   What I am planning next is a 3d racing/rhythm game in DirectX 11/C++, from scratch for Windows. I have already made a working framework with deferred rendering and PBR.   But also planning to make a simple yet complete game with Unity/C# to show some versatility as a programmer. But not really sure about this.   I'd appreciate any suggestion, and any information regarding the topic. What other type of games should I make, using what kind of tools/engines, for which platform, etc. And I should add that I live in Japan. But thinking about working abroad after some years into the industry.   Thank you in advance.
  9. Efficiency question

    Which factors determine a program to be efficient or not? And how can my own code be more efficient or at least cleaner? What are the industry standards of "clean code"?   Thanks in advance.
  10. Graphics programmer?

        Do you have any "guide" to be cleaner?  Now for me a "clean code" is something subjective due to lack of knowledge.           I have no experience (I have never been in the industry) and I want to be a graphics programmer. Do you think making a portfolio focused in graphics is appropriate to begin? I have 3 options for my first portfolio: -Normal portfolio (show some skills as a average newbie game programmer: gameplay, tools, GUI, etc) -Graphics focused portfolio (show some skills with common graphical features) -Mixed portfolio (mix both. It could have some sort of quallity reduction though)   I know there is no a "perfect way". But I don't know if just do the graphics focused portfolio from the beginning or try to make it as time goes (while working as a gameplay programmer of something).
  11. Graphics programmer?

    What kind of demos do the companies want from a graphics programmer's portfolio? Specifically what kind of graphical features should I use in my portfolio for breaking into the industry as a graphics programmer? Is it possible to break into the industry as a graphics programmer? or generally not? I mean, generally the graphics programmers have begun being graphics programmers or they just began lower? Lower = GUI programmer, and so on. (Sorry for being supercilious  )     Thank you in advance.