Author Topic: something obscenely cool  (Read 9684 times)

0 Members and 1 Guest are viewing this topic.

Offline Flipside

  • əp!sd!l£
  • 212
Just realised what is going wrong here....

You need 2 spheres for the shockwave, one with the polys facing out, the other with the polys facing in, else you don't see the back of the Shockwave through the front.

Will look into it tomorrow :)

Flipside :D

 

Offline Taristin

  • Snipes
  • 213
  • BlueScalie
    • Skelkwank Shipyards
would be super easy to make. *goes into TS and makes t spheres*
Freelance Modeler | Amateur Artist

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
the shock wave should be doing that,
and you people know that the middle of the shock wave is rendered with more transparency than the edges right, it used aditive alpha with the alpha values determined by the angle between the normal of each vertex and the camera, a poly that is faceing strait at you will be completly transperent while a poly faceing to the side will be opace.

and I spent about fifteen minutes on the model becase the plugin for geodecics didn't work in TS5 and I had to get TS4.2 running again but after that it was about maybe a minute of work for the model and the map.
if someone would make me a decent explosion I'd be willing to try out modeled fire balls.

Venom, were the hell is that Arcadia model you made!!

also if the lighting is not to anyones likeing you can change it by editing cellmap.pcx, I don't think anything not in the first row of pixels will be used. and people who have been haveing rendering problems, look at any ship that does not have a glow map, the glow mapping is the third texture stage so if that is whats giveing you problems it will show up there
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Fry_Day

  • 28
Bobbau, how are you doing cel-shading? I'm assuming texture stage 0 is the base texture, texture stage 1 is the lighting texture with D3DCOLOROP_MODULATE, and texture stage 2 is glowmap with an add?

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
I just updated, it won't be any more compatable but I changed the texture filtering to point rather than liniar during cell shadeing (for the lighting) so it have sharper diliniation between the lighting bands, wich should be better looking.

I'm going to look into makeing it more compatable now
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Fry_Day

  • 28
Totally unrelated, but I just got a Radeon 9800 Pro All-in-Wonder for free! Whee! :D

On the topic, I kind of disagree about the bilinear filtering matter. If you'd played Zelda: The Wind Waker, you'd agree that it looks terrific there with the bilinear filtering. But, tthe more I think about it, the more sure I am that it's due to the average size of a polygon there being much smaller.

How about also drawing the silhouttes? On the other hand, that might not be viable, since graphics cards are terribly slow at drawing anti-aliased lines.

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
it's kind of hard to explain how I did it if you don't know how cell shadeing works, but basicly the first stage is defuse + base texture (defuse is currently set to full bright) then the second modulates the cellmap texture, then a third stage is the glow map added on.
now the second stage has a seperate UV coordanants in wich the U is based on the intinsity of the of the lighting values, and v is set to 0

also I just updated a new version that should be more compatable
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Fry_Day

  • 28
Quote
Originally posted by Bobboau
it's kind of hard to explain how I did it if you don't know how cell shadeing works, but basicly the first stage is defuse + base texture (defuse is currently set to full bright) then the second modulates the cellmap texture, then a third stage is the glow map added on.
now the second stage has a seperate UV coordanants in wich the U is based on the intinsity of the of the lighting values, and v is set to 0

also I just updated a new version that should be more compatable

Adunno how it is in Direct3D, but in OpenGL you can simply use 1d texturing for it. If you want diffuse to be fullbright, the color op in stage one should be select_arg1 (or arg2, depending on which is the texture), which will simply discard the diffuse color. At least as far as I remember. Play aroud with mfctex. It's useful to learn about how Direct3D behaves with blending modes

Edit: After some checking around, Direct3D does support 1d textures. Also, make the texture a luminance texture instead of RGB. Saves video memory.
« Last Edit: August 20, 2003, 12:39:07 am by 791 »

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
"select_arg1 "

why am I such a dunce?
/*shakes head*/
/*smacks self*/

changeing that to a luminence map wuld probly be more hassle than it's worth, and yes DX does suport 1d textures as well as 3d and (don't ask how) 4D, I just had a set of 2d coords set up alredy from my little environment mapping experement and decided not to bother mucking about with the FVF (also I was thinking there might be a way to make a colored light map, but after a while I realised it was more work that I was thinking it was going to be)
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Ace

  • Truth of Babel
  • 212
    • http://www.lordofrigel.com
So in theory an opposite shockwave with the center opaque and the edges translucent could be done? To simulate a spherical nuclear detonation?
Ace
Self-plagiarism is style.
-Alfred Hitchcock

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
yes it's just a mater of literaly changeing one flag

but this isn't about the explosions, this is about the cell shadeing, someone post pics of the various mods that will benefit from this
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Amon_Re

  • 28
    • http://www.kefren.be
Well, i'm still having the problem that most ships show up as completely white blobs (See links in previous post) while other ships work.

The exe itself seems stable, doesn't crash or anything, it's just that the ships are white blobs (looks like they're not loading any textures at all) while others are.

The specular build however doesn't have this problem, so it must be a big in this one :)

Cheers
Sig? What sig?

 

Offline Nico

  • Venom
    Parlez-vous Model Magician?
  • 212
Quote
Originally posted by Bobboau
Venom, were the hell is that Arcadia model you made!!
 


k, I'm gonna try it and post pics, but the maps were overdetailled, I doubt that will do anything good.

edit: up, as I suspected... in fact, the thinng looks like there's 100% ambient lightning, like there's no shadows on it at all. I'll post a couple pics when swooh lets me connect myself :doubt:
« Last Edit: August 20, 2003, 06:42:28 am by 83 »
SCREW CANON!

 

Offline J.F.K.

  • 29
Hey, that's mighty impressive. Errr, good effort Free Terran :D
.
[font="SerpentineDBol"]. . . . W H O . I S . T H E . M A N , . W H O . I S . T H E . M Y T H ?[/font]

 

Offline Flipside

  • əp!sd!l£
  • 212
Sorry Bob, you're right about the shockwaves, they do already do that, that'll teach me to attempt modding at 2am ;)


Flipside :D

 

Offline Gloriano

  • silver dracon
  • 210
  • Machina terra
You must have chaos within you to give birth to a dancing star.- Nietzsche

When in despair I remember that all through history the way of truth and love has always won; there have been tyrants and murderers, and for a time they can seem invincible, but in the end they always fall.- Mahatma Gandhi

 

Offline Fry_Day

  • 28
Bobbau, what's wrong with splitting it up to two passes, if you detect the hardware doesn't have enough texture stages (should be in the hardware caps (It seems that DirectX isn't doing multipass by itself. Sorry about that one :( ).

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
it should be doing that now,

Code: [Select]


void set_stage_for_cell_shaded(){
if(current_render_state == CELL)return;
d3d_SetTextureStageState(1, D3DTSS_MINFILTER, D3DTEXF_POINT );
d3d_SetTextureStageState(1, D3DTSS_MAGFILTER, D3DTEXF_POINT );

d3d_SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
d3d_SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
d3d_SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);

d3d_SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 1);
d3d_SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_CURRENT);
d3d_SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_TEXTURE);
d3d_SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_MODULATE);

d3d_SetTextureStageState( 2, D3DTSS_COLOROP, D3DTOP_DISABLE);

current_render_state = CELL;

}

void set_stage_for_cell_glowmapped_shaded(){
if(current_render_state == GLOWMAPPED_CELL)return;
d3d_SetTextureStageState(1, D3DTSS_MINFILTER, D3DTEXF_POINT );
d3d_SetTextureStageState(1, D3DTSS_MAGFILTER, D3DTEXF_POINT );

d3d_SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
d3d_SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
d3d_SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);

d3d_SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 1);
d3d_SetTextureStageState( 1, D3DTSS_COLORARG1, D3DTA_CURRENT);
d3d_SetTextureStageState( 1, D3DTSS_COLORARG2, D3DTA_TEXTURE);
d3d_SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_MODULATE);

d3d_SetTextureStageState( 2, D3DTSS_TEXCOORDINDEX, 0);
d3d_SetTextureStageState( 2, D3DTSS_COLORARG1, D3DTA_CURRENT);
d3d_SetTextureStageState( 2, D3DTSS_COLORARG2, D3DTA_TEXTURE);
d3d_SetTextureStageState( 2, D3DTSS_COLOROP, D3DTOP_ADD);

current_render_state = GLOWMAPPED_CELL;

}

void set_stage_for_additive_glowmapped(){
if(current_render_state == ADDITIVE_GLOWMAPPING)return;

d3d_SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
d3d_SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TEXTURE);
d3d_SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE);

d3d_SetTextureStageState( 1, D3DTSS_COLOROP, D3DTOP_DISABLE);

current_render_state = ADDITIVE_GLOWMAPPING;
}



snipet
...
Code: [Select]

if(cell && cell_enabled){

if(GLOWMAP < 0){
d3d_SetTexture(2, NULL);
d3d_SetTextureStageState( 2, D3DTSS_COLOROP, D3DTOP_DISABLE);

set_stage_for_cell_shaded();
}else{
gr_screen.gf_set_bitmap(GLOWMAP, gr_screen.current_alphablend_mode, gr_screen.current_bitblt_mode, 0.0);
d3d_tcache_set_internal(gr_screen.current_bitmap, tmap_type, &u_scale, &v_scale, 0, gr_screen.current_bitmap_sx, gr_screen.current_bitmap_sy, 0, 2);

if(d3d_caps.MaxSimultaneousTextures > 2)
set_stage_for_cell_glowmapped_shaded();
else
set_stage_for_cell_shaded();

}

gr_screen.gf_set_bitmap(cell_shaded_lightmap, gr_screen.current_alphablend_mode, gr_screen.current_bitblt_mode, 0.0);
d3d_tcache_set_internal(gr_screen.current_bitmap, tmap_type, &u_scale, &v_scale, 0, gr_screen.current_bitmap_sx, gr_screen.current_bitmap_sy, 0, 1);

for (i=0; i {
//d3d_verts[i].color = D3DCOLOR_ARGB(255,255,255,255);
d3d_verts[i].env_u = ((verts[i]->r + verts[i]->g + verts[i]->b)/3)/255.0f;
d3d_verts[i].env_v = 0.0f;
}

d3d_DrawPrimitive(D3DVT_TLVERTEX, D3DPT_TRIANGLEFAN, (LPVOID)d3d_verts, nverts);

if(d3d_caps.MaxSimultaneousTextures < 3){
gr_screen.gf_set_bitmap(GLOWMAP, gr_screen.current_alphablend_mode, gr_screen.current_bitblt_mode, 0.0);
if ( !d3d_tcache_set_internal(gr_screen.current_bitmap, tmap_type, &u_scale, &v_scale, 0, gr_screen.current_bitmap_sx, gr_screen.current_bitmap_sy, 0, 0)) {
mprintf(( "Not rendering specmap texture because it didn't fit in VRAM!\n" ));
return;
}
set_stage_for_additive_glowmapped();
gr_d3d_set_state( TEXTURE_SOURCE_DECAL, ALPHA_BLEND_ALPHA_ADDITIVE, ZBUFFER_TYPE_READ );
d3d_DrawPrimitive(D3DVT_TLVERTEX, D3DPT_TRIANGLEFAN, (LPVOID)d3d_verts, nverts);
gr_d3d_set_state( texture_source, alpha_blend, zbuffer_type );
}

return;
}


...
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together

 

Offline Ace

  • Truth of Babel
  • 212
    • http://www.lordofrigel.com
What I'd like to see are the OTT ships cel-shaded since the designs are anime-influenced :)
Ace
Self-plagiarism is style.
-Alfred Hitchcock

 

Offline Nico

  • Venom
    Parlez-vous Model Magician?
  • 212
Quote
Originally posted by Ace
What I'd like to see are the OTT ships cel-shaded since the designs are anime-influenced :)


they wouldn't look any different, you need dead flat colors to have any obvious effect. I tried the macross YF19 I did with cell shading, which has basic shading drawn on the maps, well, that was enough to render the effect impossible to see. you need pure white for exemple. s I'd have to reskin all the ott ships so it works ;).
SCREW CANON!