Page 4 of 11

Re: Zeids Epic Art Post

Posted: Mon Mar 22, 2010 4:05 pm
by Innerscope
zeid wrote:Thanks for the feedback guys.
You said you were having some problems with your iPhone game? What API/libraries/frameworks are you using?
I'm using a C++ wrapper for most of my obj-c code. In terms of frameworks, OpenGL for graphics, OpenAL for sound effects, and AVAudio for background music. I actually have gotten over most of my issues. But will likely be rewriting my entity manager :( Which was cleverly conceived, but is to complicated for what I am trying to do/I'm sinking too much time into fixing it.
Sounds tricky, any particular reason you're using OpenAL and AVAudio? (Why not just use one or the other? I'm curious because I'm only using AVAudio for my game, and I've never used OpenAL before)

Re: Zeids Epic Art Post

Posted: Tue Mar 23, 2010 4:01 am
by zeid
AVAudio is being used for background music as it supports significantly larger sound lengths than OpenAL. However AVAudio also causes a fair bit of lag whenever you go to play a different sound, this makes it unsuitable for much else other then background music in a realtime game on iPhone. OpenAL is harder to implement then AVAudio but if I want I can extend what I have and add 3d sound.

Re: Zeids Epic Art Post

Posted: Tue Mar 23, 2010 3:04 pm
by Innerscope
zeid wrote:AVAudio is being used for background music as it supports significantly larger sound lengths than OpenAL. However AVAudio also causes a fair bit of lag whenever you go to play a different sound, this makes it unsuitable for much else other then background music in a realtime game on iPhone. OpenAL is harder to implement then AVAudio but if I want I can extend what I have and add 3d sound.
I see your point in using OpenAL for 3D sounds. Although you can use AVAudio for sound effects in real-time. (my game is real-time, has sounds going off simultaneously, etc)

Code: Select all

AVAudioPlayer *sfxPlayer = //initialization;
	[sfxPlayer prepareToPlay];
Will effectively get rid of the lag by pre-loading the sound. The only problem that I can run into would be playing the same sound simultaneously, which you may want for your game.

Re: Zeids Epic Art Post

Posted: Wed Mar 24, 2010 1:58 pm
by pritam
Very nice characters :) I love them!

Re: Zeids Epic Art Post

Posted: Wed Mar 31, 2010 5:47 pm
by zeid
Not really art... Playing with shaders in CG. Per-vertex lighting, per-pixel lighting and bump mapping all with optional multiple lights. Also loading in .ASE files and generating their normals. Ugly looking stuff but I'm sure I will improve it later on and have a crack at making a interesting 3d engine.


Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 5:40 am
by zeid
Here's a link to get the program.
Download

Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 5:56 am
by GroundUpEngine
Niceeee! :)

Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 7:31 am
by MrDeathNote
Looks really nice man :)

Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 7:26 pm
by Live-Dimension
I'm probably doing something utterly wrong, but...
---------------------------
creating vertex program from file
---------------------------
v_VertexLighting.cg(51) : warning C7011: implicit cast from "float4" to "float3"
v_VertexLighting.cg(56) : error C5013: profile does not support "for" statements and "for" could not be unrolled.

Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 7:38 pm
by qpHalcy0n
What video card have you got?

Cg gets VERY quirky sometimes....especially w/ ATi, and even more especially w/ OpenGL. To the point that its completely unusable.

Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 8:21 pm
by Live-Dimension
It just happens to be an ATI 5770. =D

Re: Zeids Epic Art Post

Posted: Thu Apr 01, 2010 10:41 pm
by qpHalcy0n
Ah, yeh then there's essentially no way in hell you'll be able to use CG w/ OpenGL on there.

ATi's driver is a very very strict enforcement driver and he's probably either compiling under an nvidia profile or a deprecated OpenGL/ARB profile for which the ATi driver will not generate correct code.....or even generate code at all.
GLSL is really the only way to go w/ ATi + OpenGL :(

Kinda sucks, I prefer the HLSL/Cg syntax.

Re: Zeids Epic Art Post

Posted: Fri Apr 02, 2010 12:07 pm
by Lord Pingas
Your artwork is simply beautiful. :shock:

Re: Zeids Epic Art Post

Posted: Sat Apr 03, 2010 1:07 pm
by zeid
Cheers.

Is it worth learning GLSL over CG? from what i saw the two are ridiculously similar (as with HLSL and other non-assembly based shader languages). For that matter is it worth learning an assembly based shader language?

Also is there a definitive way to programming correctly in C++ all I see are different approaches, obviously there will be one way more appropriate then the other, can anyone share some light to the most appropriate, most efficient approach to C++ design/programming Paradigms. My uni does a poor job of teaching paradigms. Tonight I tried to describe a delegate method to a friend, he got the syntax, and derived class stuff but didn't seem to snap to the 'delegate method' statement do other unis teach this better? Fux Australia is to focussed on simulation and not on games/programming.

Re: Zeids Epic Art Post

Posted: Sat Apr 03, 2010 1:37 pm
by qpHalcy0n
If you plan on sticking to OpenGL, then you absolutely need to learn GLSL. Cg is completely useless when it comes to OpenGL, none of the hardware profiles work right. It does not support any of the newer profiles. The runtime is not good at generating code that works for ATi, its just a lose-lose. The cross vendor Cg support for the Direct3D API is far better.

Also, GLSL is not similar to HLSL/Cg at all really. It is HLSL that shares syntax verbatim with Cg. Unfortunately there's no good cross API shader alternative other than GPU assembly (which is essentially the same across vendors). Learning GPU assembly CAN be worth it, but for the most part nobody writes shaders in assembly anymore. Sometimes you can spot optimizable pieces of code where the high level compiler sortof falls on its face and optimize the assembly.... this does happen occasionally.