Jump to content

  • Log In with Google      Sign In   
  • Create Account

BattleMetalChris

Member Since 06 Mar 2009
Offline Last Active Sep 02 2016 09:31 AM

#5305566 Best comment ever

Posted by on 12 August 2016 - 05:33 PM

In a VBA project at work:

 

' Bear in mind that every time the middleware gets updated, the API changes; I presume simply to keep VBA developers on their toes.




#5305553 Interfaces and code duplication

Posted by on 12 August 2016 - 04:08 PM

To start, my background is C++, Just tinkering really; a few simple 3D games but nothing professional. Anyway.

 

I'm starting developing for my Android phone, which realistically means learning Java. Its been pretty easy so far as the two languages are similar.

 

 

However, I'm getting a little lost on the use of Interfaces. Every Java resource I've read goes crazy on the idea of interfaces, and uses them for almost everything. What I don't get however, is how they are better than plain old inheritance. The only thing they seem to be able to do is allow (a form of) multiple inheritance, which you're not allowed to do in Java by just extending classes, and in the cases I've been sketching out in readiness for coding, it appears to mean a lot of redundant code.

 

Say I have a class GameObject, being the abstract base class for everything in my game. Something in the game might be a visible physics object, so if I want an object that does that using Interfaces, I would write a Renderable interface and a Physics interface and implement both.

 

But say I have an object which doesn't use physics. I would have it implement just the Renderable interface.

 

Now I have my two objects which I can store in a collection and pass to a Renderer, the interfaces guaranteeing that both objects have the appropriate methods to be able to be drawn.

 

However, because Interfaces only contain the method declarations, not any actual functionality itself, in this case I'd have to write the drawing methods TWICE, for both the renderable physics object and the plain non-physics object.

 

In C++, I'd just have them inherit from a Renderable and a Physics base class to give them all the functionality they need, but in Java I can't do that as you can only inherit from one class.

Given this restriction, currently, I'm looking at just having a Renderable class extend the Base class, and the Physics object extend the Renderable without using Interfaces at all. But given how much they're pushed in the various coding resources, I can't help but think I'm missing something.

 

 

 

Why are Interfaces used instead of just Inheritance alone?




#4950110 Function "Overload" Question

Posted by on 17 June 2012 - 06:33 PM

Could you not just pass a reference to a vector of the parameters? This also lets you use templates if you plan on having several versions for different parameter types.

typedef std::vector<std::string> ParamsVec;



int foo(ParamsVec& params)

{

	 std::string str;

	 cin >> str;



	 int count = 0;

	 for (ParamsVec::iterator it = params.begin(); it != params.end(); ++it)

	 {

	 	 if ((*it) == str) return count;

	 	 count++;

	 }

}




EDIT: aargh, stupid source tags, why do they cut off angle brackets if I specify a language type?...


#4883761 c++ set operations

Posted by on 14 November 2011 - 08:11 AM

You could return an auto_ptr to the new set, that would take care of deleting it once you'd finished with it.


#4880676 Where i cant get xna skyboxes

Posted by on 04 November 2011 - 08:14 PM

The DirextX texture tool which comes with the DirectX SDK allows you to take any 6 images and put them together into a .DDS format cubemap texture for use as a skybox.

With a bit of manipulation in photoshop beforehand, it shouldn't be too hard to use it to convert skyboxes in other formats into the DDS Texture array you need. :)


#4879085 Encoding eight halfs into four floats

Posted by on 31 October 2011 - 07:12 PM

Got it working :)

I can paint lava onto the landscape and it'll use the heightmap and lava-map to make it run down into the hollows.




#4876796 Dummy Verticies

Posted by on 25 October 2011 - 10:13 AM

Yes, it's perfectly possible. I'm currently rendering quads by passing null as the vertex buffer and just using index buffers.


#4849168 Rotation problem on multiple monitors

Posted by on 14 August 2011 - 05:46 PM

If you're translating the camera as well as rotating it, remember that you'll need to change the eye position as each monitor's image is rendered.


#4848805 Rotation problem on multiple monitors

Posted by on 13 August 2011 - 05:43 PM

Its easier to calculate your view & projection matricies as per normal, but then edit the projection matrix with a scale & translate matrix to shift the results onto the appropriate screen.

Remember that the results of the final projection matrix yield a clip space coordinate from -1 : 1. You want -1 : 0 to end up on the left screen and 0 : 1 to end up on the right screen.




Trouble with that is it's all projected into the same viewing plane, just with a huge horizontal FOV which creates pretty atrocious warping at the edges of the display with multiple monitors (I run three monitors in compatible games, and my usual horizontal FOV is 160 degrees).

Ideally you want all the monitors to face the player and each display produced by a different view matrix, essentially using three cameras at different angles, instead of one stretched across all displays This creates a pleasing psudo-cylindrical projection, lets you run FOVs over 180 degrees and limits the warping to just the kind of extents you usually see on a single monitor with 90 degree FOV.

See the difference between these screenshots, both with 160 degree FOV (the discontinuities in the second shot are due to it compensating for the monitor bezels)

http://dl.dropbox.co...00003704384.png
http://dl.dropbox.co...00003988555.png

In response to the OP, is it not just a case of tweaking your offset value until they line up?


#4818065 iterators are they as fast as pointers?

Posted by on 31 May 2011 - 04:29 PM

'Frobnicate' is now my favourite word.


#4808678 David Braben's $25 PC

Posted by on 09 May 2011 - 01:30 PM

$25 and it has 1 more usb ports than the iPad :rolleyes:


#4806658 Baseball Field For your Game

Posted by on 04 May 2011 - 05:53 PM

Thank you?


#4800400 texcoord count is different than vertex count

Posted by on 19 April 2011 - 10:07 AM

What format are you exporting it to? obj?


#4792119 bump mapping vs normal mapping

Posted by on 30 March 2011 - 05:21 AM

Unless you're dynamically modifying the bump maps, is there any reason you'd need to use them over a precomputed normal map?


PARTNERS