Members - Reputation: 102
Posted 15 June 2012 - 05:03 PM
problem of seams around the positive/negative y faces. There is also an artifact
with some triangles of the negative x face being black for 1sec at start of the program.
I've also tried to use a skybox and noticed that I've to subdivide the faces in a bunch
of small triangles instead of rendering a TRIANGLE_STRIP with 4 vertices for each face
because of a bug that hides large triangles near the camera.
I don't know if there are seams around the top and bottom faces wih a skybox instead
of a skysphere. For the skysphere I subdivide each face into a number of rows and
columns and create a TRIANGLES vertex array for each face.
You can view the source code for the skysphere example at:
I came across CLAMP_TO_EDGE in OpenGL and noticed that there is no such thing
in the PSPs GU library.
Moderators - Reputation: 37322
Posted 16 June 2012 - 11:03 AM
This is probably not PSP specific. Seams are a common symptom when programmers start doing their own modeling.
The first is the edge clamping on polygons. Make sure it is set to wrap or clamp properly; for a skybox you likely need them to clamp. Their library is bound to have a way to clamp textures because it is necessary for so many rendering techniques. Next up is that for subdivided models it is more than just (u,v) coordinates. There is a tuple (u,v,s,t) where all need to be set correctly; make sure your subdivision code is properly subdividing. Next is your textures themselves. Make sure they don't have visual artifacts that are normally invisible because they are at the edge or corner of the image.
Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.
Also check out my personal website at bryanwagstaff.com, where I occasionally write about assorted stuff.
Crossbones+ - Reputation: 4334
Posted 29 June 2012 - 11:43 AM
to clamp, you need to call:
sceGuTexWrap(int u,int v)
passing for u and v if you want clamp (1) or wrap( 0)
never used GU, just wrote directly to the commandbuffer, so I cannot guarantee that works ;)