Browsing Category

Programming

Programming

Toggle var in LUA

20 abril 2010 • By

Some thing to remeber… the clean way is ZOOM_STATE = not ZOOM_STATE

local ZOOM_STATE = true

ZOOM_STATE = (ZOOM_STATE ~= ZOOM_STATE)  -- the same of not ZOOM_STATE
ZOOM_STATE = not ZOOM_STATE; print(ZOOM_STATE)
ZOOM_STATE = not ZOOM_STATE; print(ZOOM_STATE)
Apple, iPad, iPhone, iPod, Programming

Upgrading a Target from iPhone to iPad

14 abril 2010 • By

If you have an existing iPhone application that you want to upgrade to run on iPad devices you need to upgrade the target that builds your iPhone application into a target that can build both an iPhone and an iPad application, or add a target to your project for building the iPad application.

To upgrade an iPhone target for iPad development, select the target in the Groups & Files list and choose Project > Upgrade Current Target for iPad.

For details about iPad-application development, see iPad Programming Guide.

ref: http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/115-Configuring_Applications/configuring_applications.html

Graphics, iPad, iPhone, iPod, Programming

Obj-C FPS counter and dt time for iPhone

8 abril 2010 • By
	// FPS
	static CFTimeInterval lastTime  = CFAbsoluteTimeGetCurrent();
	CFTimeInterval beginTime = CFAbsoluteTimeGetCurrent();
	CFTimeInterval dt        = beginTime - lastTime;
	
	static uint           FPS   = 0;
	static CFTimeInterval accum = 0;
	
	if ( accum >= 1.0 )
	{
		NSLog(@"%d", FPS);
		accum = 0.0;
		FPS   = 0;
	}
	else
	{
		FPS += 1;
	}
	
	accum   += dt;
	lastTime = beginTime;
iPad, iPhone, iPod, Programming

Language (locale and country) in iPhone SDK

5 abril 2010 • By

Little and fast-to-understand test for to know the language of iPhone device:

NSString* language    = [[NSLocale preferredLanguages] objectAtIndex:0];                // en  
NSString* countryCode = [[NSLocale currentLocale] objectForKey: NSLocaleCountryCode];   // US
	
// Console Log, only for debug...
NSLog(language);
NSLog(countryCode);
	
BOOL result;
if ([countryCode isEqualToString:@"GB"] || [countryCode isEqualToString:@"US"] || [countryCode isEqualToString:@"CA"])
{
	result = YES;
}
else
{
	result = NO;
}	
Graphics, Hardware, Programming

OpenGL 3.3 & 4.0

28 marzo 2010 • By

El grupo Khronos y el OpenGL ARB han publicado en el GDC 2010 de San Francisco las especificaciones de OpenGL 3.3GLSL 3.3OpenGL 4.0 and GLSL 4.0.

¿Por qué 2 specs al mismo tiempo? OpenGL 3.3 puede ser desarrollada con las GPUs actuales como una actualización de forma rápida y sin complicaciones. OpenGL 4.0 está diseñada para la próxima generación de tarjetas gráficas, Fermi y AMD/ATi serie 5000.  Con esto consiguen dar a los desarrolladores un pack actualizado de funcionalidades y preparar el terreno para exprimir el HW de la próxima generación. Cosa que desde hace mucho tiempo se esperaba, volver a empujar desde el ARB y el comité de expertos a la industria del HW ya que la relación desde hace mucho tiempo siempre ha sido que empresas como nVidia, ATi o 3D Labs (muerta ya pero que nos dejó el legado de lo que hoy conocemos como Shaders en OGL y D3D) gracias a que OpenGL era open source añadir las extensiones que quisieran. Cosa que ha dado magníficos frutos pero que también necesitaba de un empuje desde algún organismo como venía haciendo Microsoft desde hace un par de versiones de D3D. Aunque mejor no hablar de DX 10.0 y 10.1 …

Cosas destacables de OpenGL 4.0

“OpenGL 4.0 further improves the close interoperability with OpenCL™ …”

  • two new shader stages that enable the GPU to offload geometry tessellation from the CPU;
  • per-sample fragment shaders and programmable fragment shader input positions for increased rendering quality and anti-aliasing flexibility;
  • drawing of data generated by OpenGL, or external APIs such as OpenCL, without CPU intervention;
  • shader subroutines for significantly increased programming flexibility;
  • separation of texture state and texture data through the addition of a new object type called sampler objects;
  • 64-bit double precision floating point shader operations and inputs/outputs for increased rendering accuracy and quality;
  • performance improvements, including instanced geometry shaders, instanced arrays, and a new timer query.

Info relacionada: