⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fasjittr.c

📁 Graphics Gems 源码 a collection of algorithms, programs, and mathematical techniques for the computer
💻 C
字号:
/* * Efficient Generation of Sampling Jitter Using Look-up Tables * by Joseph M. Cychosz * from "Graphics Gems", Academic Press, 1990 *//*  	Jitter.c - Sampling jitter generation routines.  	    /*/*	Description:/*	    Jitter.c contains the routines for generation of sampling  /*	    jitter using look-up tables./*/*	Contents:/*	    Jitter1	Generate random jitter function 1./*	    Jitter2	Generate random jitter function 2.			/*	    JitterInit	Initialize look-up tables./* */#define			NRAN	1024	/* Random number table length	*/static	double	URANX[NRAN],		/* Random number tables		*/				URANY[NRAN];static	int		IRAND[NRAN];	/* Shuffle table	*/static	int		MASK = NRAN-1;	/* Mask for jitter mod function */extern	double	xranf();		/* Random number generator pro- */					/* ducing uniform numbers 0 to 1 *//*  	Jitter1 - Generate random jitter. 	*/void	Jitter1	(x,y,s,xj,yj)		int	x, y;		/* Pixel location	 */		int	s;		/* Sample number for the pixel */		double	*xj, *yj;	/* Jitter (x,y)	*/{		*xj = URANX[ (x + (y<<2) + IRAND[(x+s)&MASK]) & MASK ];		*yj = URANY[ (y + (x<<2) + IRAND[(y+s)&MASK]) & MASK ];}/*  	Jitter2 - Generate random jitter.  	*/void	Jitter2	(x,y,s,xj,yj)		int	x, y;		/* Pixel location  */		int	s;		/* Sample number for the pixel */		double	*xj, *yj;	/* Jitter (x,y)	*/{		*xj = URANX[ ((x | (y<<2)) + IRAND[(x+s)&MASK]) & MASK ];		*yj = URANY[ ((y | (x<<2)) + IRAND[(y+s)&MASK]) & MASK ];}/*  	JitterInit - Initialize look-up tables.  	*/void	JitterInit	(){		int	i;		for ( i = 0 ; i < NRAN ; i++ ) URANX[i] = xranf();		for ( i = 0 ; i < NRAN ; i++ ) URANY[i] = xranf();		for ( i = 0 ; i < NRAN ; i++ ) IRAND[i] = (int) (NRAN *						xranf());}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -