Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Member Since 13 Sep 2012
Offline Last Active Today, 06:34 PM

#5194343 Best language for mobile apps

Posted by TheChubu on 23 November 2014 - 06:29 PM

Afaik, with mono (commercial licence I think?) you can use C# on both Android and iOS.


You can use Java(ish) on Android, and with RoboVM you can use it on iOS too.


You also have Objective-C and Swift for iOS.

#5193890 HDR Rendering

Posted by TheChubu on 20 November 2014 - 06:39 PM

You forgot a couple of steps:

- Render the scene to D3DFMT_A16B16G16R16F texture
- Apply bloom effect
- Apply tone mapping

- Apply more bloom
- Render the final scene (Fullscreen Quad)

- Apply even more bloom

- Screw the scene, just draw a white fullscreen quad.

- Then add bloom to it.

There you go.

#5193190 Java - Maximum Recommended Threads At One Time ?

Posted by TheChubu on 16 November 2014 - 09:41 PM

What people should be telling you is don't make a thread per event you need to have triggered. Think up another way. Any other way but making 40 thousand threads.

#5193047 Are there any patent trollers in the games indestry?

Posted by TheChubu on 15 November 2014 - 07:43 PM

Recently, not totally in the game industry but related, nVidia :P

#5193004 help with java libraries

Posted by TheChubu on 15 November 2014 - 01:27 PM

Have in mind that you don't specifically have to use that "Application" stuff of libGDX. You can just create sprites, batches, sounds and use them on your own.


Nothing prevents you from using new SomeLibGDXClass and use it as you see fit.


I'd say to invest the time most in whatever you're interested in, then fill the other gaps with libraries.

#5192512 Adding item modifiers

Posted by TheChubu on 12 November 2014 - 03:35 PM

Hmm... Do you have access to Java 8?


You can make them functional interfaces:


public interface Modifier<T>
    public void modify ( T e, float sign );
    public default void add ( T e ) {
        modify( e, 1.0f );
    public default void remove ( T e ) {
        modify( e, -1.0f );

EDIT: Dammit man, editor be eating half my post.


Then you'd have something like a List of modifiers in your entity/component, and a method with this signature:
void addModifier( Modifier<Entity> modifier ) { }
And add a modifier like this:
float modValue = 10.0f;
entity.addModifier( (e,s) -> e.damage += (modValue * s) );
// Then do:
for ( Modifier<Entity> mod : modifiers )
// Or
for ( Modifier<Entity> mod : modifiers )
Not sure how well it would fare, its just off the top of my head biggrin.png
You could also have specific implementations of Modifier<T> for modifiers that you use often (ie, DamageModifier, and so on) or that need to hold onto more state than capturing lambdas allow you to.

#5192142 Software Fallback?

Posted by TheChubu on 10 November 2014 - 03:16 PM

AFAIK, HD 3xxx series should go up to OpenGL 3.1 on Windows, 3.3 on Linux with Mesa. Not sure what's the situation in OSX world, didn't they supported up to 3.2 with those cards?

#5191972 OpenGL - layout(shared) ?

Posted by TheChubu on 09 November 2014 - 07:12 PM

Are you querying the 'uniformBlockIndex' for all the programs your UBO is going to be on? What happens if you call glUniformBlockBinding after glBindBufferBase? ie, first attach UBO to binding slot, then bind it to the program's index for that UBO.


To be honest, I'm fuzzy on the specifics since I moved early one to fixed binding slots in the shader with arb_shading_language_420pack, which is widely supported.

#5191858 What to do if a coding project starts to feel too complex to handle?

Posted by TheChubu on 08 November 2014 - 05:25 PM

Keep coding.

#5191822 Mutiple VAOs and VBOs

Posted by TheChubu on 08 November 2014 - 01:16 PM

However, no one seems to be interested in doing anything about it.

Post it to Timothy Lottes/Graham Sellers/Christophe Riccio's Twitter. See what they say...


EDIT: To be clear, I doubt VAOs perform that bad. While you got Valve and a couple of scattered devs saying otherwise, on the other end you have every single OpenGL driver developer out there saying they perform better. And to go against those kind of people, you'd need a bit more big names than just Valve to say it, someone that either is known for being a graphics powerhouse (Crytek, DICE) so they're bound to know what the fuck they're doing, or someone who has been working with OpenGL for a long ass time (say, Carmack).


So far I haven't seen such complaints from other developers that have been porting new games to OpenGL lately (Firaxis, Aspyr, 4A Games, etc).

#5191616 Help, falling at the first hurdle as usual

Posted by TheChubu on 06 November 2014 - 10:55 PM

I have a suggestion for your workflow: Copy the default GCC compiler profile and edit that one instead. Otherwise all the projects that you start with the GCC profile will have those OpenGL libraries linked.


BTW, reading GLFW's site:


The static version of the GLFW library is named glfw3. When using this version, it is also necessary to link with some libraries that GLFW uses.

When linking a program under Windows that uses the static version of GLFW, you must link with opengl32. On some versions of MinGW, you must also explicitly link with gdi32, while other versions of MinGW include it in the set of default libraries along with other dependencies likeuser32 and kernel32. If you are using GLU, you must also link with glu32.


The link library for the GLFW DLL is named glfw3dll. When compiling a program that uses the DLL version of GLFW, you need to define the GLFW_DLL macro before any inclusion of the GLFW header. This can be done either with a compiler switch or by defining it in your source code.

A program using the GLFW DLL does not need to link against any of its dependencies, but you still have to link against opengl32 if your program uses OpenGL and glu32 if it uses GLU.

So, you're using the dynamically linked version right? Have you defined the GLFW_DLL macro? Otherwise if you want the static version you're linking to the wrong file it seems...

#5191257 Mutiple VAOs and VBOs

Posted by TheChubu on 04 November 2014 - 09:23 PM

Now, there is a 3rd option: AZDO. Azdo is about using one huge single VBO (or very few of them) and manual manipulation using unsynchronized mapping and fences (it's very Mantle-like behavior). Then place all the meshes in the same VBO at different regions (offsets) of the memory.
AFAIK, and as the AZDO talk explained, you need GL_MAP_PERSISTENT_BIT and GL_MAP_COHERENT_BIT for doing this in the fastest way, which are OpenGL 4.2 features.


Now, I understand that's very important for dynamic meshes, but can't you get pretty close there with OpenGL 3 hardware without buffer mapping?


ie, make pools of VBOs, and let every mesh have its own offset into the VBO (and possibly, which VBO too since you might have several). You'd update these VBOs only once for most meshes, ie, when a mesh has to be rendered (or better, cached for future rendering). Since we're limited to OpenGL 3 features, we'd be using glBufferSubData for these things.


You still benefit from the fewer state changes, but you'd be foregoing the buffer mapping.

#5190803 The intersection between cubic Béziers

Posted by TheChubu on 02 November 2014 - 05:43 PM

Holy shit. I'd totally fine if the compiler just noped out of that constructor call. It'd deserve it.

#5190235 Undesired Behavior When Attempting To Find Which Directory Jar Is Located In

Posted by TheChubu on 30 October 2014 - 03:52 PM

btw, you're creating a fileList

 fileList = new ArrayList<File>( );

Then, immediately after, you create a new one:

 fileList = (Arrays.asList(rawFiles.listFiles() ) );

Just do the second line, no need to create the first fileList.


If you have access to Java 8, you can also do something like:

List<File> outGoing = fileList.stream().filter( (f) -> f.isDirectory() && f.list().length > 0 ).collect ( Collectors.toList() );

#5190052 Creating a Grand Theft Auto type of Game in Delphi.

Posted by TheChubu on 29 October 2014 - 05:45 PM

How long would it take to make such a game if you have a few Developers (such as maybe 5) working on it?

Lets see, GTA-sized game, with 5 people... 30 years? Maybe more? I'm assuming they have top notch skills from the get go. If they have to learn along the way, add another 8 years.


Grand Theft Auto doesn't fits in a subforum called "For beginners". GTA is anything but for beginners.


Reduce the scope to something a bit more realistic first.