By: johnk20042001 Wed, 17 Mar 2004 06:58:07 -0000 Undocumented Commands in RapidQ Direct3D I found that RC.EXE actually has more commands for Direct3D! They add a little more functionality but need to be tested. Below is a list of undocumented commands available in RapidQ. Many of these commands have a PARENT property. This may not really affect your program in a noticeable way. Below the command is an example that compiles ok. -------------------------------------------------------------------- QD3DLIGHT.PARENT Example: QD3DLIGHT.PARENT = QD3DFrame -------------------------------------------------------------------- QD3DMESH.PARENT Example: QD3DMESH.PARENT = QD3Dframe -------------------------------------------------------------------- QD3DMESHBUILDER.PARENT Example: QD3DMESHBUILDER.PARENT = QDXscreen/ QD3Dframe -------------------------------------------------------------------- QD3DMESHBUILDER.LOADTEXTURE (String) Example: QD3DMESHBUILDER.LOADTEXTURE("ground.bmp") -------------------------------------------------------------------- QD3DTEXTURE.PARENT Example: QD3DTEXTURE.PARENT = QDXscreen/ QD3Dframe -------------------------------------------------------------------- QD3DVISUAL.PARENT Example: QD3DVISUAL.PARENT = QDXscreen/ QD3Dframe -------------------------------------------------------------------- QD3DANIMATION QDXSCREEN.CREATEANIMATION QD3DANIMATION.PARENT Example: DIM ANI AS QD3DANIMATION QDXSCREEN.CREATEANIMATION(ANI) ANI.PARENT = QDXscreen `-- no effect? ANI.PARENT = QD3Dframe `�causes strange things and changes the QD3Dframe settings!) -------------------------------------------------------------------- QD3DANIMATIONSET QD3DANIMATIONSET.PARENT QDXSCREEN.CREATEANIMATIONSET Example: DIM AniSet AS QD3DANIMATIONSET QDXSCREEN.CREATEANIMATIONSET(AniSet) AniSet.PARENT = QDXscreen AniSet.Parent = QD3Dframe`�causes strange things and changes the QD3Dframe settings!) -------------------------------------------------------------------- QDXSCREEN.FASTPSET (X1%, Y1%, C%) `in compiler but not fully implemented? -------------------------------------------------------------------- QDXSCREEN.SETVELOCITY(X AS SINGLE, Y AS SINGLE, Z AS SINGLE, R AS INTEGER) No example yet, should interact with- QDXSCREEN.MOVE() QD3DFRAME.MOVE() QD3Dmeshbuilder.MOVE -------------------------------------------------------------------- QDXSCREEN___FONT methods: QDXSCREEN.FONT.COLOR__ QDXSCREEN.FONT.NAME___ QDXSCREEN.FONT.SIZE___ QDXSCREEN.FONT.ADDSTYLES__ QDXSCREEN.FONT.DELSTYLES__ QDXSCREEN.FONT.FONTCOUNT__ QDXSCREEN.FONT.FONTNAME___ QDXSCREEN.FONT.HANDLE_ QDXSCREEN.FONT.CHARSET____ QDXSCREEN.FONT.PITCH__ QDXSCREEN.FONT.BOLD___ QDXSCREEN.FONT.ITALIC_ QDXSCREEN.FONT.UNDERLINE__ QDXSCREEN.FONT.STRIKEOUT__ -------------------------------------------------------------------- These implement the ID3DRMViewPort interface for D3D The viewport uses QD3DFrame as a camera. The camera frame defines which scene is rendered and the viewing position and direction. The viewport renders only what is visible along the positive z-axis, with the up direction being in the direction of the positive y-axis. The "viewing frustum" is a 3D volume in a scene positioned relative to the viewport's camera. Objects within the viewing frustum are visible. For perspective viewing, the viewing frustum is the volume of an imaginary pyramid that is between the front clipping plane and the back clipping plane. The camera is at the tip of the pyramid, and its z-axis runs from the tip of the pyramid to the center of the pyramid's base. The front clipping plane is a distance D from the camera, and the back clipping plane is a distance F from the front clipping plane. You can set and retrieve these values by using the QDXSCREEN.VIEW.SETFRONT, QDXSCREEN.VIEW.SETBACK, QDXSCREEN.VIEW.GETFRONT, and QDXSCREEN.VIEW.GETBACK. Why change the viewport? It can speed up the rendering process and eliminate objects you don't want in the scene. QDXSCREEN.VIEW.CLEAR `clears the DXSCREEN QDXSCREEN.VIEW.GETFRONT `gets the front clipping plane QDXSCREEN.VIEW.SETFRONT(RVFRONT AS SINGLE) ` set front clipping plane Example: DIM a as SINGLE a = QDXSCREEN.VIEW.GETFRONT QDXSCREEN.VIEW.SETFRONT(a + 10) ` render less QDXSCREEN.VIEW.GETBACK `gets the back clipping plane QDXSCREEN.VIEW.SETBACK(RVBACK AS SINGLE) Example: DIM a as SINGLE a = QDXSCREEN.VIEW.GETBACK `default is 5000! QDXSCREEN.VIEW.SETBACK(a + 10) ` render less in the distance This command sets the front clipping plane of the viewing frustum by supplying the coordinates of the four sides, relative to the camera's z-axis. QDXSCREEN.VIEW.SETPLANE(LEFT AS SINGLE, RIGHT AS SINGLE, BOTTOM AS SINGLE, TOP AS SINGLE)