Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 29 Jul 2001
Offline Last Active Yesterday, 08:30 PM

Posts I've Made

In Topic: Designing a graphics programming portfolio

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.

In Topic: Max size of Matrix4x4 Array in HLSL

22 February 2015 - 10:23 PM

Try compiling for vs_2_x or vs_3_0 instead. I don't remember if they'll give you higher register counts but it's worth a shot.

In Topic: How to limit your FPS ?

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();

In Topic: What's a good general max fps for a 3d graphics engine?

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.

In Topic: GLSL Driver optimizer

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.