Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 29 Jul 2001
Offline Last Active Today, 03:19 PM

#5214362 Game Perfomance

Posted by Promit on 03 March 2015 - 10:24 PM

Moving this over to Game Programming.

#5214309 Vulkan is Next-Gen OpenGL

Posted by Promit on 03 March 2015 - 03:59 PM

There's nothing even vaguely unusual or improprietous about those excerpts. It's somewhat reflective of the standard internal MS dysfunction that has afflicted them for many years, but it's certainly not misconduct.

#5214288 Vulkan is Next-Gen OpenGL

Posted by Promit on 03 March 2015 - 02:10 PM

AMD published a new release: http://community.amd.com/community/amd-blogs/amd-gaming/blog/2015/03/03/one-of-mantles-futures-vulkan

The main point being that Vulkan is essentially an iterated cross platform version of Mantle. I like that AMD was willing to describe their own press release hours earlier as cryptic.

#5214223 Vulkan is Next-Gen OpenGL

Posted by Promit on 03 March 2015 - 09:36 AM


Why would MS have to do anything?
They don't support OpenGL, Mantle, OpenCL and CUDA and yet they all work just fine... this is no different.


Not on tablet/phone hardware they don't. Neither is there VS support, without wacky plugins from IHVs. Still, I don't know if I dare to dream that the new standards-attentive MS will actually boost Vulkan to first class support.

#5214221 Next-Gen OpenGL To Be Shown Off Next Month

Posted by Promit on 03 March 2015 - 09:34 AM

If nobody minds, I think it would be best if we moved to this thread: http://www.gamedev.net/topic/666286-vulkan-is-next-gen-opengl/

#5213481 Questions with GLSL Shaders

Posted by Promit on 28 February 2015 - 07:21 AM

In GLSL, you can use attribute qualifiers to select between interpolation of attributes across the triangle (smooth) or single value using the provoking vertex (flat). So using the value set in the last vertex is an option, though not the default.

#5212403 Designing a graphics programming portfolio

Posted by Promit on 23 February 2015 - 12:59 AM

As a portfolio type piece, I wouldn't even bother putting out anything that doesn't include full per pixel lightmapping with a basic tangent space bump map implementation. As adam said above, most of that list is just a waste of time. Post proc, HDR, deferred shading, forward+, PBR - these are things that make for portfolio items. I wouldn't count skeletal either unless you do something above and beyond a simple model playing simple full body animations.

#5211841 How to limit your FPS ?

Posted by Promit on 20 February 2015 - 01:41 AM

Traditionally, the advice is not to limit it and simply let the machine do what it wants to do. However, recently we've all become more aware of battery life and the importance of games (at least, some games) being kinder to the battery. This leads to an argument that artificially limited framerates are actually useful in order to conserve power. Personally I'd recommend that you simply request vertical sync in your game and let that control things. 


That said, I'm going to give you enough rope to hang yourself. Please don't use this unless vsync really doesn't work for your situation, for whatever reason. If you DO have to use it, and again I'd like to emphasize that you probably shouldn't, but if you do - just put it at the very top or very bottom of your top level render loop function.

	const double updateInterval = 1.0 / 60;
	static double lastUpdate = timeGetTime();
	double time = timeGetTime();
	while(time - lastUpdate < updateInterval)
		time = timeGetTime();

#5211599 What's a good general max fps for a 3d graphics engine?

Posted by Promit on 18 February 2015 - 08:39 PM

I don't want it to dip below 60

Only part that matters. Recommend you test on a wide variety of hardware. Everything else you said is largely unimportant, especially without a game in place.

#5211574 GLSL Driver optimizer

Posted by Promit on 18 February 2015 - 05:27 PM


By the way, the real reason they had problems was because they just pumped desktop shaders through a translator and expected that to work on mobile GPUs. It's no surprise that it performed badly.

If you want performance you have to hand code the shader specifically targetting the mobile GPU, using low precision, etc. and reading the maufactures recommended practices.


Yes, it's true that some of their inefficiencies were coming from translation - same as this thread. But in general you don't want to be burdened with removing redundant operations, temporaries, constant folds, etc by hand. That's why we created optimizers. These things are easy to do in a machine fashion and difficult/time consuming for developers. Sitting down and hand tuning shaders for each individual platform, particularly when it's stupid stuff like redundant copy removal, is ridiculous.

#5211327 GLSL Driver optimizer

Posted by Promit on 17 February 2015 - 08:10 PM

The GLSL spec guarantees the following optimizations:



So on paper, you can't assume anything because it's totally up to the vendor. You should read the docs accompanying glsl-optimizer, by Unity's ArasP: https://github.com/aras-p/glsl-optimizer

They use this as their shader backend for everything, specifically because they can't trust implementations to do the right thing. Mobile is the big offender.

#5210155 Anyone have tips on doing foley production?

Posted by Promit on 11 February 2015 - 05:24 PM

Microphone: Sennheiser MKH 416. This is my absolute favorite foley mic. It's very clean and has a very tight pickup pattern. The only thing it's not great at are harsher highish frequency sounds (like paper) which I prefer a large diaphragm mic on.

Thanks, but I should've probably specified a budget. We're indie and want to get a little more control of our production, not exactly a serious recording studio. Do you have a recommendation for something similar down in the $300-500 ballpark? A thousand is a tough pill to swallow for a guy who uses SM 57s, 58s and Rode VideoMics for nearly everything sad.png


Actually it's worth noting that we're going to be doing a lot of water recording - splashes, etc. Would this be better suited to a large or small diaphragm mic?


Pre-Amp: You want something clean that won't color the sound too much. Grace makes really nice foley pres. I don't have one (using an Amek 9098) but I've heard them and they're really nice for this kind of work.

I have a Scarlett Focusrite 2i4 for my instrumental work. I believe these are well regarded as transparent entry level mic pres, but I don't know if there's something that would make it suboptimal for foley.

Room: Small and dead. My VO booth doubles as my foley room. Larger rooms the reflections can be a bit much at extremely high gains and you hear the space too much.

I think we'll probably end up Auralexing a small room - I was thinking of doing a Whisper Room but I don't think we'll bother if we can get reasonable results out of a suitably treated normal space.



Also shoes and surfaces. I built these big wooden boxes with handles I can move around. Have 1 for dirt, gravel, sand, concrete (really heavy one), wood, tiles, etc. Then a box filled with more shoes than my wife has. For every one really fun cool effect you make you're going to walk a mile in place (c: But this way I can record all those footsteps in a nice quiet recording room instead of going outside; your roomtone/noise floor stays the same as well.

Our work is actually likely to be water focused (and sans people), but I think we're going to do something along the same lines with home aquarium tanks.

#5209923 What version of opengl should i learn?

Posted by Promit on 10 February 2015 - 09:09 PM

For anyone starting out now, it's an extremely poor decision IMO to treat shaders as an optional thing, or a thing to learn later. Graphics programming includes shader programming, period. If you can't handle that, go use an existing engine like Unity instead. 

#5209915 Anyone have tips on doing foley production?

Posted by Promit on 10 February 2015 - 08:30 PM

We're looking at starting on doing some in-house foley work - not synthesized stuff but real recording of real objects. I understand that this is very much an artistry thing, but does anyone have any basic tips or advice to share? Particularly dealing with things like mic choices, recording distances, post processing, etc.

#5209082 Ignored by press?

Posted by Promit on 06 February 2015 - 11:02 AM

First, watch this and pay close attention: 


Second, dealing with press can be a full time job. It will take lots of work, repeated direct contact and emails to dozens of people, and then just maybe someone will notice you. Game journalists don't really care about press releases unless you're somebody who already has their attention - and frankly, you don't want coverage from anyone who's picking up press releases.

What I would suggest: look up game journalists, see what they're writing about, and when you find one that could be genuinely interested in what you have to show, let them know about it (I know, it sounds simple stupid, but it works).
In your case, finding a metalhead seems like it would be ideal, and I think you can find a few around IGN/RPS/Kotaku if you look deep enough.
Next, find a way to present the idea to them under such a light that it sounds like a "story". Doesn't matter what the game is, it needs to be sold as a story that they can rally readers around. So start thinking: what funny things happened when you secured licensing to show portraits of actual people? Did they give you show tickets to convert rookies to the metal scene? Did any of them say anything to endorse you? etc.

This is great advice.