|
Re: What are you working on?
[Re: Germanunkol]
#415005
01/12/13 17:48
01/12/13 17:48
|
Joined: Oct 2004
Posts: 4,134 Netherlands
Joozey
Expert
|
Expert
Joined: Oct 2004
Posts: 4,134
Netherlands
|
Germanunkol: yeah the tutorial I follow is quite close to the Gimp one. I used too low resolution for the textures on the lot of the planets. The ice planet on the right isn't too good either. It's best to have the texture at least twice as big as the final planet result to get a good quality texture after spherize effect. Thanks for the link! Your planet looks beautiful on CSiS . I still haven't found a nice way to create continents though, the tutorials you linked and I followed result in one solid texture, and the colour of the planet is a separate mix of layers which might give a faint hint that there are oceans and planets but if you look at a picture of earth, the tutorials never come close to the variety that a true earth planet has. You see lush, deserts, oceans, cloud patches, shallow waters, mountain ridges, it's all well defined in reality.
Click and join the 3dgs irc community! Room: #3dgs
|
|
|
Re: What are you working on?
[Re: lostclimate]
#415058
01/13/13 10:12
01/13/13 10:12
|
Joined: Jun 2006
Posts: 2,640 Earth
Germanunkol
Expert
|
Expert
Joined: Jun 2006
Posts: 2,640
Earth
|
Joozey, I know exactly what you mean, I had the same problem back then. One way that springs to mind is: - Download a rock-image like this one: http://cgtextures.com/login.php?&tex...bg7ra0eg1m1flg6- Duplicate the layer - Blur and increase contrast on one of the layers and then use it as a "layer mask" for the other layer That doesn't give you a perfect planet texture, but I think it's a pretty good start. Result (I also played with the "curves" tool before setting the image as a layer mask):
~"I never let school interfere with my education"~ -Mark Twain
|
|
|
Re: What are you working on?
[Re: Germanunkol]
#415109
01/13/13 22:10
01/13/13 22:10
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
Today i wrote a small DLL which receives the SDK and Scene instances from AckPhysX3 to do this: and in motion: https://www.youtube.com/watch?v=ATKePPp2TfEThe scene above uses 3k Particles. Anything more screws the FPS < 60. Though the problem here is that 3dgs particles need a function..or is there a way to create a particle without an always executing function7event and never dying?
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Re: What are you working on?
[Re: Rackscha]
#415110
01/13/13 22:17
01/13/13 22:17
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Looks great! With A8 pro particle instancing is used so that you can show approx. 30k particles in your demo. Besides, try to pass NULL as function and step each frame with ptr_first and .link.next through all particles, updating lifespan to something >0, e.g. 100, and updating the .xyz position.
I am not 100% sure, but since wait(1) is not allowed in particle functions, I guess they are executed at once in one frame roughly as I described above. So, my tip can also likely be no improvement. I guess the main reason why your performance breaks down is just the casual overdraw.
Last edited by HeelX; 01/13/13 22:19.
|
|
|
Re: What are you working on?
[Re: HeelX]
#415112
01/13/13 22:38
01/13/13 22:38
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
@HeeIX: just have Comercial(and iam not going to pay 600€ more just for this ) And where should i pass NULL? in effect()? And how do i acces the first created particle?(to get the linklist start)
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Re: What are you working on?
[Re: Rackscha]
#415123
01/14/13 08:16
01/14/13 08:16
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Yes I know, that is why I am telling you this And where should i pass NULL? in effect()? And how do i access the first created particle?(to get the linklist start) I meant the particle event, like this:
VECTOR vecCreate;
// create particle
effect(initPhysxParticle, 1, &vecCreate, NULL);
//...
void initPhysxParticle (PARTICLE* p)
{
// initialize
p->lifespan = 100; // big lifespan
p->event = NULL;
}
Getting the first particle is a bit tricky, because you need a particle instance for ptr_first. I see two ways: 1.) create a dummy particle that is alive all the time and writes it's pointer into a global one, this can be used with ptr_first:
PARTICLE* g_partInstance = NULL;
level_load("myLevel.wmb");
g_partInstance = NULL;
effect(initParticleReference, 1, nullvector, NULL);
//...
void initParticleReference (PARTICLE* p)
{
p->lifespan = 100;
p->event = evParticleReference;
}
void evParticleReference (PARTICLE* p)
{
p->lifespan = 100;
g_partInstance->p;
}
or 2.) you give the very first PhysX-particle an event that overwrite that pointer. If the particle is destroyed, you have to reset a flag or so to indicate, that you give the next PhysX-particle the function again. Nevertheless, you have to indicate the PhysX-particle somehow, because it might be the case, that there are other particles as well, which don't belong to the fluid. I would set each's Physx-particle's skill1 or so to an identifier reserved for PhysX particles. In the loop, in which you update the particles, you check against this skill, and if and only if it matches the ID, you update it.
|
|
|
Re: What are you working on?
[Re: HeelX]
#415124
01/14/13 08:56
01/14/13 08:56
|
Joined: Dec 2008
Posts: 1,218 Germany
Rackscha
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,218
Germany
|
Ok i'll try to set the event to NULL.
But i think in this case instead of using the LinkList, i'll just put each registered particle into a Particle array, which allows faster iterating(no check for non Phys particle). This list is then directly given to my DLL to do the stuff. Might even kill 1 of 2 copy loops(resulting in a speedup)
MY Website with news of my projects: (for example my current Muliplayer Bomberman, GenesisPrecompiler for LiteC and TileMaster, an easy to use Tile editor) Sparetime-Development
|
|
|
Re: What are you working on?
[Re: Rackscha]
#415181
01/14/13 19:13
01/14/13 19:13
|
Joined: Jul 2001
Posts: 4,801 netherlands
Realspawn
Expert
|
Expert
Joined: Jul 2001
Posts: 4,801
netherlands
|
working on an very easy shooter template that holds the pure basic stuff. I got help from my friend Arrovs a few minor things need to work perfect and then it will be uploaded a.s.a.p. For me the reason to create this is that in the old days of A5 i liked the simple click and play thing as a Noob. Soon A8 users will have this simple click and play to i hope [video:youtube] http://youtu.be/TkyEPxHDoAQ[/video]
|
|
|
|