Sega Saturn Development > General Jo Engine Help

Couple beginner questions on rotation around origin and model conversion

<< < (2/4) > >>

SkimmingSanshiro:
Thanks Ill give it a shot. Also seem to have a problem is the polygon clipping when you get close to the camera on large models also causing everything to clip. You mention this issue in your FPS thread. Seems the solutions were to subdivide and jo_3d_display_level(level). When I subdivide even a part of my model it wont work anymore in a emulator and says %100 dynamic memory used. Its only 755 faces so im not sure what the deal is.

I have jo_3d_display_level(5) on my Player and he never clips. BUt in your thread Danny said examples of values for the level:
1: Display from 1/2
2: Display from 1/4
3: Display from 1/8
So am I using it wrong? Heres a video of my problem, maybe its because the messed up geometry in my wave that cause it the flicker?

https://www.youtube.com/watch?v=rri-5gReqZk

XL2:
For the zdisp level, you can set it up to 7 so that it clips closer to the camera.

Make sure your model as the UseNearClip option for each quad in the attributes.
Also choose Windows_In so that only objects in your current window gets sent to the VDP1.
Both will do pre-clipping before sending it to the VDP1, helping you with keeping up the framerate and prevent issues.

For the memory, reduce in your makefile the jo_malloc memory. Something like 256 kb should be enough.
You can also load data to the low work RAM.

For the issue you are having, try to add stats about the amount of quads and vertices on screen.
It could be an issue because you have too much for the default workarea (2500 vertices and 1800 quads).
You can use the slCheckOnScreen function to check if the object is on the screen (if the returned value is >= 0) and discard what is not.


If not, if you are using real transparency, it won't work well. Either set the framerate to 30 fps  (jo_framerate) or remove the VDP1 transparency and use the mesh effect only.

SkimmingSanshiro:
Great tips you were right about the default workspace and managed to subdivide and keep it under. My I added UseNearClip in my attributes
--- Code: ---
ATTRIBUTE(Dual_Plane, SORT_CEN, No_Texture, 0x801f, CL32KRGB | No_Gouraud, CL32KRGB | MESHoff, sprPolygon, UseNearClip),
--- End code ---
seems to make no difference on hardware/ssf, seems single plane helps but not much.

It seems I am at the point subdividing makes no difference and its purely on how close the wave is the the camera no matter the scale or poly size. Zdisp is a 7 but 5 seems to be the max effect.

In SSF the clipping is perfect even optimal now because its acts like a window into the barrel at the end of the run and can give a bonus on a barrel ending and have you visible in there. But thats just a bonus.

But on hardware the story is much different. The wave clips MUCH more and also takes with it my player and scenery depending how close it is to the camera. Maybe you could take a glance at my attached blend and tell me if its ridiculous its under 1000 polys. My player is under 200 and the game features currently only 2 sprites, background, 3 planes(I removed the beach right now since I need to figure out the warping), Mesh effects only now too

Here is the clipping on hardware with these changes. Dont mind the missing beach i removed it for now but everything else is clipping
https://www.youtube.com/watch?v=veA5lFDijY8





ponut64:
Give this a "shot".

http://www.mediafire.com/file/bwh5cacsflrz3m2/VSedit.zip

All I did was throw in a different mesh .. that doesn't render properly.

But that's not the point.

The point is, I tried this on real hardware (a US saturn), and it worked properly.
Incidentally I also used this to confirm the 352x240 mode worked, which it do.

My guess is you are working with a quads limit of some kind... but I'm not really experienced enough to draw a conclusion on that. Something in your mesh isn't right.

XL2:
Ok! According to your video, the Saturn can't complete the drawing. You are at 60 fps, but with all the textured quads, it's too much. You can set dynamic framerate : DynamicFrame (On);  (I'm not in front of my pc, so it might have a different spelling or with sl in front, just look at the demo I made for ponut)

Also try 30 fps :
extern Uint8 SynchConst();
SynchConst=2;
(Again, I'm not on my pc, but take a look at the demo I sent ponut64).
Always use Single_plane!
Else it will still draw backfaced quads.

Also don't use real transparency.

If you really want 60 fps, use low quality textures : 16x16 or even 8x8, but with more than 450/500 quads on screen it might start to enter the draw end mode, which just tries to draw as much as possible before the v-blank.

Also, I forgot to mention, but use Window_In in the attributes.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Sitemap 1 2 3 4 5 6 7 8 9 10 
Go to full version