亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? depthoffset.cpp

?? s3c6410 官方測(cè)試代碼
?? CPP
字號(hào):
/*******************************************************************************
 *
 *	ViP model for FIMGSE
 *		version 1.0
 *
 *	DepthOffset0.c
 *
 *	by cheolkyoo.kim
 *	Graphics IP Team in AP, Mobile Solution Development,
 *	System LSI Division, Semiconductor Business,
 *	Samsung Electronics
 *
 *	Copyright (c) 2005 FIMG team
 *
 *	All rights reserved. No part of this program may be reproduced, stored
 *	in a retrieval system, or tranmitted, in any form or by any means,
 *	electronic, mechanical, photocopying, recording, or otherwise, without
 *	the prior written permission of the author.
 *
 *	2005. 12. 21	by cheolkyoo.kim
 *
 *  Description
 *
 *	$RCSfile: DepthOffset0.cpp,v $
 *	$Revision: 1.6 $
 *	$Author: cheolkyoo.kim $
 *	$Date: 2006/05/08 05:34:29 $
 *	$Locker:  $
 *
 *	$Source: C:/CVS/CVSrepository/FIMG-3DSE_SW/fimg3dse_fpga/fimg3d/src/DepthOffset0.cpp,v $
 *	$State: Exp $
 *	$Log: DepthOffset0.cpp,v $
 *	Revision 1.6  2006/05/08 05:34:29  cheolkyoo.kim
 *	no message
 *	
 *	Revision 1.5  2006/04/13 11:53:45  cheolkyoo.kim
 *	no message
 *
 *	Revision 1.4  2006/04/07 00:44:47  inhosens.lee
 *	updated with fimg_ra code
 *
 *	Revision 1.3  2006/04/05 04:06:08  cheolkyoo.kim
 *	Replaced ~_XCORD and ~_YCORD to ~_XCOORD and ~_YCOORD.
 *
 *	Revision 1.2  2006/03/30 04:27:43  cheolkyoo.kim
 *	Thomas-20060330@comment: Add to code using directive WIN32_VIP for VIP
 *
 *	Revision 1.1  2006/03/10 08:29:07  cheolkyoo.kim
 *	Initial import of FIMG-3DSE_SW package
 *
 *
 ******************************************************************************/
/****************************************************************************
 *  INCLUDES
 ****************************************************************************/
//#include "Debug.h"

#if TARGET_PLATFORM == FPGA_BOARD
#include "Fimg3DTest.h"
#endif

#include "mov_v4o.vsa.h"
#include "mov_v2o.psa.h"
//#include "Sphere.h"

/****************************************************************************
 *  DEFINES
 ****************************************************************************/
int DepthOffset(void)
{
	if (fglLoadVShader(mov_v4o_vsa) != FGL_ERR_NO_ERROR) {
		return ERROR;
    }

    if (fglLoadPShader(mov_v2o_psa) != FGL_ERR_NO_ERROR) {
		return ERROR;
    }

	drvsys_clear_buf((unsigned int*)FIMG_DEPTH_BUFFER, CLEAR_SCREEN_SIZE, 0xFFFFFFFF);
	drvsys_clear_buf((unsigned int*)(FIMG_COLOR_BUFFER), CLEAR_SCREEN_SIZE, 0x0);

	fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status

	Matrix4 matMVP, matProj;
	matProj.SetAsOrthoMatrix(-2.4, 2.4, -3.2, 3.2, 0.0, 100.0);
	matMVP.Translate(0, 0, -1);
	matMVP = matProj * matMVP;
    
    //unsigned int ConstFloatAddr = FGVS_CFLOAT_SADDR;
    //ConstFloatAddr = matMVP.WriteMatrix4(ConstFloatAddr);
    
    unsigned int Offset = fglWriteVertexShaderConstFloat(0, 16, matMVP.m[0]);
/*
	// Vertex Shader SFR set
	WRITEREG(FGVS_ATTRIB_NUM, 0x00020004); // Attribute counter of VS output & input
	WRITEREG(FGVS_CONFIG, 0x00000001); // Configuration register
	WRITEREG(FGVS_OUT_ATTRIB_IDX0, 0x03020100);

	// Pixel Shader SFR set
	WRITEREG(FGPS_EXE_MODE, 0x0); // Pixel shader execution mode control register
	WRITEREG(FGPS_PC_COPY, 0x1); // Copy PSPCS_ADDR value to program counter
	WRITEREG(FGPS_ATTRIB_NUM, 0x1); // Number of attribute of current context
	fglSysPollingMask(FGPS_INBUF_STATUS, 0x0, 0x1); // Status signal of pixel shader input buffer
	WRITEREG(FGPS_EXE_MODE, 0x1); // Pixel shader execution mode control register
*/
    fglSetVShaderAttribTable(FGL_OUTPUT_ATTRIB_IDX0, 0x02020100);
    fglSetVShaderAttribTable(FGL_OUTPUT_ATTRIB_IDX1, 0x07060504);
    fglSetVShaderAttribTable(FGL_OUTPUT_ATTRIB_IDX2, 0x0B0A0908);

    fglVSSetAttribNum(4);
    fglPSSetAttributeNum(1);

	// Per-fragment Unit SFR set
	//WRITEREG(FGPF_DEPTHBUF_ADDR, FIMG_DEPTH_BUFFER); // Depth/Stencil buffer base address
	//unsigned int uRegVal = READREG(FGPF_DEPTH);
	//WRITEREG(FGPF_DEPTH, 0x5); // Depth test LESS function & enable set
	fglSetZBufBaseAddr(FIMG_DEPTH_BUFFER);
	fglSetDepthParams(FGL_COMP_LESS);
	//fglSetDepthParams(FGL_COMP_LEQUAL);
	fglEnablePerFragUnit(FGL_PF_DEPTH, FGL_TRUE);


	// Pawn Model test main
	{
/*
    	for(int i=0; i < 4; i++)
    	{
    		WRITEREGF((ConstFloatAddr + (i * 4)), 1.0f);
    	}		
*/    	
    	// cheolkyoo-20070528@modify
    	//float OneVector[4] = { 1.0f, 1.0f, 1.0f, 1.0f};
    	float OneVector[4] = { 1.0f, 0.0f, 0.0f, 1.0f};
	    fglWriteVertexShaderConstFloat(Offset, 4, OneVector);
		

		// Raster engine SFR set
		//glPolygonOffset(0.f, -4.f)
#if 0
		fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_FACTOR, 0x40A00000);
		fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x0);
#else
		// cheolkyoo-20070528@modify
		//fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_FACTOR, 0x3F800000);
		fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_FACTOR, 0x0);
		//fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x40000000); /* 2.0 */
		//fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x3FC00000); /* 1.5 */
		//fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x3FA00000); /* 1.25 */
		fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x3F800000); /* 1.0 */
		//fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x0);
	    // for CellMath
	    //fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_R, 0x34000001);
	    // for DesignWare
	    //fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_R, 0x33C00001);
	    fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_R, 0x34000001);
#endif		
		
		//FGL_DPFAPI( fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_FACTOR, 0x0) );
		//FGL_DPFAPI( fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_UNITS, 0x461C4000) );
//		FGL_DPFAPI( fglSetDepthOffsetParam(FGL_DEPTH_OFFSET_R, 0x33800002) );
		fglEnableDepthOffset(FGL_TRUE);

		
		// Primitive Engine SRF Set
		FGL_Vertex Vtx;
		Vtx.prim = FGL_PRIM_TRIANGLES;
		Vtx.enablePointSize = FGL_FALSE;
		Vtx.numVSOut = 1;
		Vtx.shadeModel = FGL_SHADING_SMOOTH;
		Vtx.colorAttribIdx = 0;
		
		fglSetVertex(&Vtx); // Vertex context register
		
		// Raster SFR Line Width set
		//WRITEREGF(FGRA_LINE_WIDTH, 0.5f);
		fglSetLineWidth(0.5f);

		// Host Interface SFR Set
		FGL_HInterface HInterface;
		HInterface.enableAutoInc = FGL_TRUE;
		HInterface.enableVtxBuffer = FGL_FALSE;
		HInterface.enableVtxCache = FGL_FALSE;	
		HInterface.idxType = FGL_INDEX_DATA_UINT;
		HInterface.numVSOut = 2;
		fglSetHInterface(&HInterface);
		
		FGL_Attribute HIAttr;
		HIAttr.bEndFlag = FGL_FALSE;
		HIAttr.type = FGL_ATTRIB_DATA_FLOAT;
		HIAttr.numComp = 4;
		HIAttr.srcW = FGL_ATTRIB_ORDER_4TH;
		HIAttr.srcZ = FGL_ATTRIB_ORDER_3RD;
		HIAttr.srcY = FGL_ATTRIB_ORDER_2ND;
		HIAttr.srcX = FGL_ATTRIB_ORDER_1ST;	
		fglSetAttribute(0, &HIAttr);
		fglSetAttribute(1, &HIAttr);
		fglSetAttribute(2, &HIAttr);
		HIAttr.bEndFlag = FGL_TRUE;
		fglSetAttribute(3, &HIAttr);
		
		//const int nNumTrisSphere = 1024;
        //const int nNumAttributesSphere = 16;
		//unsigned int nNumOfVertices = nNumTrisSphere * 3;
		//unsigned int nNumofData = nNumAttributesSphere * nNumOfVertices;		
		unsigned int nNumOfVertices = 1024 * 3;
		unsigned int nNumofData = 16 * nNumOfVertices;		
		
		unsigned int uiDummy = 0xFFFFFFFF;
		fglSendToFIFO(4, &nNumOfVertices);
		fglSendToFIFO(4, &uiDummy);		

		fglSysTransferToPort(
								/*(unsigned int *)Sphere_Data,*/
								(unsigned int *)FIMG_GEOMETRY_MEMORY,
								/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
								nNumofData
							);


		fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status
/*
    	for(int i=0; i < 4; i++)
    	{
    		WRITEREGF((ConstFloatAddr + (i * 4)), 0.0f);
    	}		
*/        
    	// cheolkyoo-20070528@modify
    	//float ZeroVector[4] = { 0.0f, 0.0f, 0.0f, 0.0f};
    	float ZeroVector[4] = { 0.0f, 0.0f, 1.0f, 1.0f};
	    fglWriteVertexShaderConstFloat(Offset, 4, ZeroVector);
        
        fglEnableDepthOffset(FGL_FALSE);
        
        // Line rendering: line strip
		// cheolkyoo-20070528@modify
		//Vtx.prim = FGL_PRIM_LINE_STRIP;
		Vtx.prim = FGL_PRIM_TRIANGLES;
		Vtx.enablePointSize = FGL_FALSE;
		Vtx.numVSOut = 1;
		Vtx.shadeModel = FGL_SHADING_SMOOTH;
		Vtx.colorAttribIdx = 0;
		
		fglSetVertex(&Vtx); // Vertex context register

		fglSendToFIFO(4, &nNumOfVertices);
		fglSendToFIFO(4, &uiDummy);
		fglSysTransferToPort(
								/*(unsigned int *)Sphere_Data,*/
								(unsigned int *)FIMG_GEOMETRY_MEMORY,
								/*(volatile unsigned int *)(FGHI_FIFO_ENTRY),*/
								nNumofData
							);

		fglFlush(FGL_PIPESTATE_ALL);	// Pipeline status

		// Cache flush
		//fglSysCacheFlush();
		fglClearCache(FGL_CACHECTL_FLUSH_ZCACHE | FGL_CACHECTL_FLUSH_CCACHE);
		fglSysDelay(50);

		drvsys_clear_buf((unsigned int*)FIMG_DEPTH_BUFFER, CLEAR_SCREEN_SIZE, 0);
	    //drvsys_clear_buf((unsigned int*)(FIMG_COLOR_BUFFER), CLEAR_SCREEN_SIZE, 0);
 	}

	// Depth test Off
	fglEnablePerFragUnit(FGL_PF_DEPTH, FGL_FALSE);
	// Depth offset use disable
	fglEnableDepthOffset(FGL_FALSE);

    return NO_ERROR;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天综合色天天| 久久99精品国产.久久久久久| 欧美男同性恋视频网站| 国产一区二区免费视频| 亚洲一区二区三区爽爽爽爽爽| 精品久久久久久久久久久院品网 | 欧美精品久久久久久久多人混战| 国产一区久久久| 亚洲电影欧美电影有声小说| 国产精品欧美久久久久无广告| 91麻豆精品国产自产在线观看一区 | 日本高清无吗v一区| 国产在线麻豆精品观看| 亚洲成人福利片| 成人免费小视频| 久久亚洲捆绑美女| 91精品国产综合久久精品app| 99久久婷婷国产精品综合| 国模冰冰炮一区二区| 日韩精品一级二级| 依依成人综合视频| 亚洲婷婷综合久久一本伊一区| 久久综合精品国产一区二区三区| 欧美日韩国产高清一区二区| 91小视频在线免费看| 高清免费成人av| 国产九色sp调教91| 久久国产欧美日韩精品| 日本不卡视频一二三区| 亚洲一区二区五区| 亚洲一区二区三区四区五区黄| 136国产福利精品导航| 国产精品色一区二区三区| 久久九九国产精品| 国产日韩av一区| 国产日韩精品久久久| 久久一日本道色综合| 亚洲精品一线二线三线无人区| 91精品国产综合久久久蜜臀图片| 欧美色图片你懂的| 欧美亚一区二区| 欧美日韩一级二级| 欧美久久高跟鞋激| 制服丝袜亚洲色图| 欧美一区二区在线播放| 欧美一二三四在线| 日韩女优av电影| 精品日韩一区二区| 久久精品亚洲国产奇米99| 久久久蜜臀国产一区二区| 国产午夜亚洲精品午夜鲁丝片| 国产亚洲成aⅴ人片在线观看| 国产偷v国产偷v亚洲高清| 久久精品一区二区三区四区| 国产精品午夜春色av| 亚洲日本乱码在线观看| 一区二区三区久久久| 亚洲国产精品一区二区久久恐怖片| 亚洲综合色区另类av| 日韩精品欧美精品| 激情另类小说区图片区视频区| 国产制服丝袜一区| 波多野结衣在线一区| 色呦呦一区二区三区| 欧美精品丝袜久久久中文字幕| 日韩欧美一级二级三级久久久| 久久综合五月天婷婷伊人| 国产精品美女久久久久久久久久久| 综合激情成人伊人| 日韩成人av影视| 国产在线精品免费av| 91丝袜国产在线播放| 欧美丰满高潮xxxx喷水动漫| 久久免费电影网| 亚洲免费观看在线观看| 琪琪一区二区三区| 波多野结衣一区二区三区| 欧美人动与zoxxxx乱| 26uuu国产电影一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 成人激情动漫在线观看| 日本高清不卡视频| 日韩欧美国产午夜精品| 国产精品护士白丝一区av| 亚洲成人你懂的| 高清国产一区二区| 欧美日韩国产高清一区二区| 国产女人18水真多18精品一级做| 一区二区在线观看免费视频播放| 久久狠狠亚洲综合| 日本乱人伦一区| 久久影院午夜论| 亚洲国产另类精品专区| 国产成人夜色高潮福利影视| 欧美欧美欧美欧美| 中文字幕中文字幕在线一区| 久久超级碰视频| 欧美亚洲尤物久久| 亚洲国产岛国毛片在线| 奇米影视一区二区三区小说| 日本精品视频一区二区| 久久精品免视看| 青青草原综合久久大伊人精品 | 欧美韩国日本综合| 午夜成人免费视频| 99久久精品99国产精品| 久久先锋影音av| 日日骚欧美日韩| 91免费视频观看| 欧美国产精品劲爆| 裸体一区二区三区| 欧美日韩高清影院| 玉米视频成人免费看| 成人激情动漫在线观看| 国产网站一区二区| 国产乱码精品一区二区三区av| 欧美精品日韩一区| 午夜天堂影视香蕉久久| 91丨九色丨黑人外教| 中文字幕一区二区在线播放| 国产美女在线精品| 日韩精品综合一本久道在线视频| 亚洲高清三级视频| 欧美性受xxxx| 一区二区三区免费在线观看| 91麻豆精品视频| 中文字幕中文字幕一区二区| 丁香桃色午夜亚洲一区二区三区| 精品国产sm最大网站免费看| 蜜桃av一区二区在线观看 | 91久久香蕉国产日韩欧美9色| 国产精品久久久久永久免费观看| 国产精品一级片在线观看| 精品国产乱码久久久久久1区2区| 男男视频亚洲欧美| 欧美一区二区三区白人| 日韩精品五月天| 欧美成人一区二区三区片免费| 热久久久久久久| 欧美成人一级视频| 国产精品一区三区| 国产日韩欧美一区二区三区综合| 国产精品亚洲а∨天堂免在线| 国产三级欧美三级日产三级99| 国产福利一区二区| 国产精品灌醉下药二区| 99精品视频在线播放观看| 亚洲欧洲性图库| 欧美亚洲综合另类| 五月激情综合色| 日韩精品一区二区三区三区免费 | 白白色 亚洲乱淫| 亚洲欧美色综合| 欧美无砖专区一中文字| 婷婷综合在线观看| 精品三级av在线| 成人免费看片app下载| 亚洲你懂的在线视频| 欧美撒尿777hd撒尿| 欧美aaaaaa午夜精品| 久久久久久久久久看片| 99久久精品国产一区二区三区| 尤物在线观看一区| 日韩欧美一区二区不卡| 国产成人免费视| 亚洲欧美另类图片小说| 欧美高清视频不卡网| 国产精品一区二区免费不卡| 亚洲婷婷在线视频| 欧美一区二区三区不卡| 成熟亚洲日本毛茸茸凸凹| 亚洲一区中文日韩| 日韩精品最新网址| 99re成人精品视频| 日韩激情中文字幕| 国产亚洲婷婷免费| 欧美日韩视频在线一区二区| 狠狠色2019综合网| 一区二区三区蜜桃| 久久久午夜精品| 日本丶国产丶欧美色综合| 九九九精品视频| 一区二区三区欧美在线观看| 日韩三级精品电影久久久| 99国产欧美另类久久久精品| 天天av天天翘天天综合网色鬼国产| 国产视频一区在线观看| 欧美日韩综合在线免费观看| 国产mv日韩mv欧美| 日本不卡1234视频| 亚洲欧美一区二区不卡| 久久伊99综合婷婷久久伊| 欧美色图12p| 99国产精品久久久久| 久久国产精品99久久久久久老狼| 一区二区三区久久| 国产精品久久久久久久第一福利 | 亚洲欧洲精品一区二区精品久久久 | 国产九色精品成人porny| 亚洲第一久久影院|