› Foros › PSP › General
PSP graphic lecture for 3D game fan
- As for 3D graphic function above the equality of PS2
March 25th (local time) opening
The SONY computer entertainment America (SCEA) March 25th, at GDC the session "Programming the PSP which" discloses the technical basic information of PSP was opened. Because with this session, the graphic functional details of PSP which is released so far with only specifications item became clear, rearranging with this manuscript, we would like to introduce.
David Coombes of SCEA Developer Support which takes charge of lecture (the left) with, Peter Young (the right) This time it was emphasized that "as for PSP it is the platform of the completely new digital entertainment",
* Operational concept of the 3D graphic engine of PSP has been similar to PS2
The memory band conservation with such instance conversion for recent PC is done even with GPU
The mechanism of operation of the graphic engine of PSP resembles to the that of place t Shaun 2 rather.
While executing the 3D game software, CPU issues drawing order in large quantities in GPU. While CPU watching, whether GPU could execute some drawing order with moving GPU, as for CPU the hand stops turning to physical operation and character management, potential of that hardware is difficult to utilize.
Then, DMA (Direct Memory Acces) is installed as the supporter which mediates between these both. CPU to issue drawing order, ignoring the operational circumstance of GPU, in memory store. DMA checking the operational circumstance of GPU, keeps transferring drawing order to GPU automatically.
With this CPU and GPU reach the point where it can operate to the utmost in parallel, performance rises. In addition, because with favor of this mechanism, centralization and dispersion of utilization of the bus are utilized to happen the bus difficult evenly, also efficiency is optimized.
The operation of DMA, DMA possessing the bus, not to be the bursting mode which does data transfer at the full speed, because it becomes cooperation mode, the operation of CPU is not obstructed. Also the design of this has been similar to PS2 well.
In addition, the drawing list (those like procedure in order to draw graphics) stream structure to be converted to instance, like subroutine call after taking the data which is necessary it becomes the processing system which is executed. Speaking simply, the mechanism of compression of the drawing list is adopted...... with you should have thought.
With this mechanism there is a weak point where the overhead of reference of instance occurs, but there is a merit which can avoid the frequency of the memory copy in compilation of the drawing list. Perhaps, you probably adopt for the origin of the supporting that "the person who adopts this mechanism is easy to rise performance".
And, also early カリング is applied to the drawing list. Early カリング is the mechanism which cuts the geometry information of the polygon which in the circumstance does not appear securely in the picture. Because the building outside the picture is not done rendering, geometry information of such building probably will be cut from the drawing list...... with it is the procedure which is said.
* - The super enormous battleship cannot put out with PSP concerning the clipping efficiency of GPU of PSP! ?
User clip plain function is loaded onto GPU of PSP.
As for this, it is the mechanism which can be appointed the 3D game developer draws to where from somewhere of the systems of coordinates of GPU. Having played the 3D game, distant 3D object, a certain distance goes out in boundary and/or appears probably those like the drawing boundary line which is not visible have been perceived. Among such drawing boundaries, the distant clip plainness "Far Clip Plane", the clip plainness of point of view side is called "Near Clip Plane".
As for the drawing boundary line other than "Far" and "Near", there is also a drawing boundary line of angle of view. 3D graphics is the case that it indicates the image which is caught from the camera which is installed in point of view in the monitor, but naturally it has appeared in the camera, (= angle of view) outside is not visible. In other words you do not draw the object which is outside this angle of view and the て there is no hindrance. This the clip of angle of view is plain.
As a basic decision of the optimization in the world of 3D graphics, there are some where "you do not draw any which are not visible". Then, it will try any which is outside the clip plainness not to draw...... with the idea which is said is born.
With GPU of PSP, clip plain function can be made effective/invalid. If it makes invalid, it meaning that clip plain processing is abbreviated, that much it becomes light, but there is a possibility those which are not visible wastefully being drawn. If it makes effective, it meaning that clip plain processing is done, this becomes the overhead, but that much, wasteful drawing decreasing, room is born in GPU, perhaps) (. It should use which, it depends on the design and the scene of the 3D game.
If it is the generally known 3D game, if it makes normally effective, it is the case that it is not problem, but to tell the truth there is restriction in the clip plain function of PSP.
_ that, 座標 system of coordinates protrude way be big 3D object clip plain function effective invalid of regardless, drawing do (カリング do finish) be be. Originally it is not drawn to having the possibility of being visible...... with the case which is said comes out.
SCEA (Sony Computer Entertainment America)"there is no problem", that it has done concerning this. Because because, the system of coordinates of PSP steps on with picture resolution conversion 15 times, cross direction to be a thing width of 8 time or more to a 4,096×4,096×4,096 dot suitable and a lengthwise of picture size, the problem case such as that almost it cannot happen, that.
When it tries thinking of the case problem may happen conversely, 遙 total length equivalent of picture 2 appears the super enormous battleship sprite which is extent to the distance, when it made that left and right move, カリング being done suddenly, there are times when you disappear from before the eye...... with means to say.
Simply, concerning this "there is no problem", that you call SCEA. As for story being simple, it does not define the ど huge super enormous battleship with sprite of 1 polygon, disassembles in plural polygons and should have handled. When it does, it is decided that the point and the end mount of the super enormous battleship which is about not to be visible in the picture カリング just are done, visual failure does not occur completely.
When conclusion is collected, with PSP does the excessively extremely huge model with 1 is defined...... with probably mean to say?
There being a point of view on the left in the figure, "<" has displayed sight. First when it makes the clipping invalid. The polygon where the inside in the figure is red being done, カリング it is not drawn. Also the polygon which is Near boundary makes and is not drawn カリング. As for this just a little problem
When the clipping is made effective. Polygon of Near boundary the clipping (being cut off) being done, reaches the point where it is indicated. The kind of polygon which springs out (the triangle where the bottom is large) beam カリング it is done system of coordinates quickly and is not indicated
It meaning that world system of coordinates is huge, if system of coordinates, the kind of polygon which springs out the fool is not considerably huge, it is not visible originally. Therefore カリング doing, there is no problem
* As for PSP unless memory bus is saved, performance is difficult to occur?
Because PSP saying, that there is an expression power above PS2, is not the deferred type game machine like PS2, it is not the case that memory bus efficiency is good standing out. In order with such a reason, with PSP to make the performance of the 3D game, well enough, pitifully you must endeavor, it seems that. The fact that SCEA lectures is physical compression of apex and texture.
As for the geometry computing element of PSP, you say that "the 32bit floating point real number (FP32)", "16bit integer (INT16)", "8bit integer (INT8)" operation with form of 3 types is possible, as an apex data. If INT8 whose among these memory bus activity ratio is lowest is utilized positively, the apex data can be expressed with the 1/4 of FP32.
However because with just INT8 is painful precision, in object of the distant view which uses FP32 in the object which moves in a complicated way, does not move excessively it seems that encourages the proper use such that it tries to use 8bit integer.
Also texture being similar, with PSP RGB and A (the α channel) 32bit of everything 8bit (R8G8B8A8) color and 16bit (R5G6B5A0, R5G5B5A1, R4G4B4A4) it can utilize those such as the color, but if the color which is used beforehand is limited and the pallet based texture of 4bit/8bit/16bit and the like is used, smoothness of color specification reality and trade-off compatibility of memory bus conservation become possible. Of course being to become small, the data quantity in comparison with 32bit color texture it becomes also amount used conservation of memory.
* As for the higher-order curved surface function of PSP how being able to use?
As for the higher-order curved surface by the patch there is an advantage where it can form the character model which at the little amount of information roundness is. In addition, dynamic LOD is actualized due to the fact that the polygon division which responds to the distance from point of view is done,
PSP not only the polygon based model which is formed by plural apexes, the higher-order curved surface model by mathematical expression can form. Including PS2, with PC the expression such as that is supported even after the GeForce 3 of NVIDIA, but "" sufficiently, in the modeling new know-how is "with polygon" there was the opinion that, "it is not suitable in art style of specification", almost there was no example which is utilized so far. As for PSP this "it is disliked and it has the higher-order curved surface function which becomes the person".
SCEA has listed three reasons concerning the reason which loads higher-order curved surface function.
One because the smooth curved surface can be expressed with function making use of enormous apex, is the reason that it is connected to the memory band conservation of the drawing list.
Second does not depend on the distance from point of view, it is the reason that it can be done curved surface expression automatically. If curved surface expression is close to point of view smoothly, is more distant with just the functional parameter, it comes to the point of being drawn more roughly, generally known and voluntary "Level of Detail (LOD)" it means to be actualized, (really the polygon division which responds to the distance from point of view being automatic, it is actualized in the form which is done).
The reason that complicated curved surface animation can do third by the fact that functional parameter is modified. It winds and/or bends and/or expands and/or...... parameter of function it just is changed it can do the expression which is taken. When this is the apex based model, everything of the apex which forms this must be made to displace.
As for the higher-order curved surface function which PSP has 2 types. It is two of the "Bezier patch" and the "B spline patch".
"The Bezier patch (Bezier Patch)" following to Bezier curve, it is something which expresses the curved surface. By the way there is the meaning the patch "" "of supplying". As the mechanism, in order to parallel to the curve of Bezier curve, (the patch doing) polygon is formed (divides) is technology in the form which supplies normal line vis-a-vis original polygon model structure.
Furthermore, the Bezier patch control method is difficult, restriction is many, it is difficult to actualize the character model which moves very with this technique. For example just fumbled 1 control points all patches change. In other words, building up the character which had detailed detail with the Bezier patch, as for moving that it means to be rather difficult. Depending, with SCEA, as for the Bezier patch it seems that encourages that it uses for large static object such as background and topographical expression.
On the one hand, "the B spline patch (B-spline Patch)" control being simpler than the Bezier patch, it is easy to do also the modeling of detail. However, the operational quantity the load which falls on the amount GPU which is more than the Bezier patch becomes large. It seems that this technique does not face to conversely large object, serves the leading part of the game, it seems that is suitable for the 3D character expression to which the movement and detail become important.
* The わ る problematical point which it waits in higher-order curved surface expression of polygon divided system
The polygon division by the patch (Subdivision), it is one of actualization style of the higher-order curved surface, but also the weak point is pointed out. For example, degree of polygon division has changed drastically, near the position which even the "divided boundary line" it should call, when point of view moves, "the tear of polygon" occurs. It can designate the opening as connection of polygon and polygon. For example from foreward to the inner part this is easy to appear with division of the object like the topography which spreads.
With PSP, it does not do between the polygon which approaches the kind of division where polygon number of partitions changes even excessively dramatically as an evasion method of this phenomenon...... with the mechanism which is said is adopted.
Or, if it is expression of rock quality topography of rock skin type, the background is painted beforehand in brown, "when the polygon tear rose, the opening makes be conspicuous that this brown is visible from that split", that, with the kind of technique which you say, is in place t Shaun age this fault evasion (? ) It introduced also the method of doing.
Though, because with the 3D character and the 3D object where depth is limited as for those like such "divided boundary line" it is difficult to appear, understanding quality, if it utilizes, it does not become "the weak point", that you explain SCEA.
At the little geometry amount of information, being smooth, if the higher-order curved surface patch which can do expression rich expression looks at this figure with you can think in rather attractive technology. So far, "it is disliked, the person" technology of this kind which is, as expected with PSP which, the � ､な活用がなされるのか、興味深い。
When apex without being shared, polygon division is done in T letter condition, there are times when the break of polygon is visible. As it is called in the figure boundary of the royal purple section and the green section of the place this divided boundary line left the data of modeling condition.
If at PSP it indicates this with the higher-order curved surface patch, like the right it becomes smooth. If it goes with this example, the helmet section becomes completely round, also modelling the hand and foot has roundness and becomes lovely. The fact that you can obtain the smooth curved surface at the little data quantity is advantage of the higher-order curved surface patch
* About the 3D character animation of PSP The element, animation at the time of character expressing of the 3D game where the interactivity due to the movement becomes important, becomes very important ones. It means "displacement of apex" the movement of the 3D character/animation as an actual problem. If the arm is bent with the elbow as an axis, apex of elbow side extends, shrinks in V letter inside the elbow and as for apex of the part which bends gathers and summarizes with the feeling which crowds. You bending the arm by your, it probably can grasp image that it tries observing to the movement of the skin. As for displacement of apex at the time of such animation, it is general to be processed with the technology which is called "apex プレンディング". Speaking simply, following plural apex information to certain transaction of operation, displacement (it makes this move) with it becomes the processing system which is said. GPU of PSP the hardware as for the mechanism of the apex blending which is supported "モーフ blending (Morph Blending)" with "apex スキニング (Vertex Skinning/Weighted Vertices)" is two.
- Supporting the transformation animation of the モーフ blending - 3D character up to 8 Those where funny expression may be able to do モーフィング function with idea circumstance, the unique function only of PSP becomes, are this モーフィング function. You say that the target ahead モーフィング up to 8 being appointment possible, to change the character of 1 body to another form of maximum of 8 kinds it is possible vis-a-vis one model.
Technical with conventional ones, between both model before the changing and after the changing, "some apex corresponds to some apex?", it appoints, the case of actual deformation it keeps interpolating and reproducing the circumstances of displacement of that apex...... with it becomes something which was said. However according to SCEA, as for this モーフィング function use frequency of memory rises, because pressure of the memory band feels concern, says that note is necessary in that use. In addition, there is a proud territory and a weak territory in モーフィング function, the fact that utilizing this in the movement of all characters which appear means is not realistic. For example, be able to apply モーフィング function to also the form change of the identical model, very that, it can utilize this function even in formation of portable animation of the hand and foot. But, when this is really done, "the hand and foot is moving", that rather than saying, in order "to have become deformed", it is visible, is lacking in the reality. Training the later mentioned bone to such animation, the method which utilizes apex スキニング is visible naturally.
Conversely, change expression of expression of character (example: When you laugh from the anger face and), generally known "expression animation (Facial Animation)" use モーフィング function to the face you say that it is effective. The sufficient expression animation where delicate unevenness of the epidermis changes, with the スキニング processing system which trains the bone under polygon, is because the actualization is difficult. - The ボーンスキニング processing which corresponds to also the apex スキニング - higher-order curved surface Conceptual drawing of apex スキニング.
The blue part is the bone (the bone) with, the white part crust polygon (the mesh). In the movement of the bone the crust pursuit, deforming bending and the like the hand and foot with the kind of image which it makes come, the fact that it becomes foundation technology of the present 3D character animation which is expressed is ボーンスキニング technology. As for this technique there are also times when it is called スケルタル animation.
The framework (the bone) it keeps allotting apex of the crust polygon which forms the 3D character, to each bone and the joint of the model, the case of action of the character animation keeps doing the movement of this bone in pivot. When the bone bends, also crust polygon bends. It is the kind of feeling which forms our human that way endoskeleton models just. When this crust and layout of the bone 1 to are done at 1, for example 膨 and others the leg (you wipe at the place near the joint of the knee, and others the joint) and the leg (the shank) the strange phenomenon which sinks is caused.
You think that such phenomenon could verify with the game and the like of the PS generation in the daily occurrence. In order to evade such phenomenon, with recent 3D graphic technology doing the weight attaching in the plural bones, it allots the apex of crust polygon, the bone bends and/or when it moved, final polygon position (apex), position of position and other polygon of the plural bones (apex) with levelling, calculating, "apex スキニング (it calls apex blending and queue パレットスキニング and/or etc. does)" is that it actualizes the displacement of the smooth crust. GPU of PSP corresponds to the processing system of this apex スキニング, per 1 apex can do apex blending in a way which considers the status information of 8 these bones.
Of course, blending being done, because also normal vector of the crust polygon which was done is just corrected simultaneously, lighting (shadow processing) abnormality comes out, there is no either thing e.g., (the place where it should become bright is not bright). Furthermore, we would like to observe to also the point where gearing with among "B spline patch" the higher-order curved surface expressions which are mentioned earlier is considered. Using the B spline patch, when ボーンスキニング of the 3D character to unite is possible if it becomes, there is a roundness, real of the expression rich 3D character animation, after considerably saving memory, becomes actualization possible.
* As for the pixel pipeline function of PSP DirectX 7 generation GPU equality Lastly, concerning the specification of pixel rendering pipeline which determines the final quality of 3D graphics we would like to keep seeing. When you say from conclusion, GPU of PSP as a portable game machine has built in the pixel rendering pipeline of the rather luxurious specifications. If you see functionally, DirectX 7 generation GPU suitable potential of the place as it is called in PC may say that it has. Then we will have decided to keep looking at each fee char in order.
- It is supported supporting α operation with α blending - existence OpenGL From image of PSP emulator. In the figure thin the light/write map expression where the part where it becomes bright used α value. If with the 3D graphics which is many a thing which is utilized in reappearance of the lighting where the kind of background which considers to interflection is faint, the opacity which in every pixel is called α value other than information of 3 primary colors of RGB (the meaning of opposite is taken in the buffer ahead texture and rendering, it is general even transparency to be able to say and) to be able to give parameter. α Blending, speaking simply, on the basis of this α value, it is the functional thing which synthesizes texture and the buffer.
By comparison with one for existence PC GPU we have the α blending functional variation of the extent which is not inferiority for the pixel pipeline of PSP, GPU it is supported we call α operation with existence OpenGL that it is almost supported. For example, other than basic translucent synthesis operation, it can do also the light/write map operation and the like which increases and decreases the lust information ahead synthesizing.
"The high dynamic range (HDR) housing information in α value, it is possible also to process this," that we have explained, perhaps, perhaps SCEA white it made through the color after the synthesizing fly intend according to α value and/or...... with said, can do false HDR expression.
- Even in stencil buffer - stencil shadow volume formation application possibility With this photograph it is vague a little, but it is recognized or that the shadow has appeared in the foot, it can do also the rendering which utilizes the stencil buffer. Those where it can utilize in masking processing of the territory where it overlaps to the game picture such as score and gauge and item indicatory framework of course with are one of the shadow generation technique which "DOOM 3" and so on has become famous, it can utilize even in formation of stencil shadow volume.
Furthermore, expression width of the stencil buffer with 8bit, is equal to one for PC GPU. If you suppose, that it is the same specification as one for PC GPU, the stencil buffer perhaps is managed with the Z buffer and pair, this probably is to be maximum 24bit width.
- Supporting texturing - environmental mapping and projection texturing Diffused reflection and mirror reflection etc. are prepared as a reflected model of each material expression, but regrettable プログラマブルピクセルシェーダー function the texturing function which does the generally known texture processing which sticks the picture to the polygon which it does not have in one for PC GPU has become the specifications which meat Hasama are done.
Texture filtering corresponds to the linear interpolation of bi- linear and try linear. Anisotropy (アニソトロピック) as for filtering it seems that is not supported, but if of the indicatory resolution of PSP is thought, it is the functional reduction which serves to reason. It loads also the ミップマップ function which forms the texture which reduces in Takasina rank as the texture which is pasted in distant view object. The case of texturing the Teksel read-out from ミップマップテクスチャ which is reduced optimumly is done.
Not only sticking the picture which texturing simply, is prepared to polygon that way, texturing is done with the kind of image which projects image with the projector it corresponds to also "projection texturing". With this function, the place where it illuminates with the flashlight being brightly illuminated, it seems that is visible, very "dynamic light/write map" expression or self shadow expression the shadow of accurate character form of those which cannot be done can be cast to the land and the wall can do "projection shadow" expression.
In addition, being unique from apex information and the like of that point in time forming texture coordinate in real time, texturing is done, "shadow mapping (Shade Maping)" it corresponds. For example, if the apex (pixel) normal vector forming texture coordinate on the basis of texturing it does, expression and the generally known "environmental map" kind of expression where around reflects become possible. Or, "the polygon is faced to illuminant direction or, no