Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - XÑA

#586
Industria y mercado / Digital Legends
31 de Julio de 2007, 11:25:36 AM
¿donde se puede ver el video de Tragnarion?
#587
Programación gráfica / Sprites 2D con DX9
30 de Julio de 2007, 09:31:26 AM
Aquí está el codigo a nivel de shader....


// Transform a ScreenSpace position To ClipSpace (z=0;w=1)
float4 FromScreenSpaceToClipSpace(float4 position)
{
   float4 clipCoord;
   
clipCoord.x = ( ((position.x/ ENV_RenderTargetWidth) * 2.0f) - 1.0f );
clipCoord.y = ( 1.0f-((position.y / ENV_RenderTargetHeight)* 2.0f) );
clipCoord.z = 0;
clipCoord.w = 1;

// DX texture correction
clipCoord.x -= (0.5f / ENV_RenderTargetWidth);
clipCoord.y -= (0.5f / ENV_RenderTargetHeight);

return clipCoord;
}
#588
Programación gráfica / Sprites 2D con DX9
25 de Julio de 2007, 12:33:06 PM
¿y el vértice inferior derecho?

El Vertex Shader lo que hace es devolver una posicion en Clip Space. Clip Space es como un cubo que pasa por el monitor, y el vértice en clip space coincide con la pantalla cuando se dividen todos sus componentes por w. Así que DX una vez calculada la posición del vértice, la divide por w, y luego aplica la matriz del ViewPort.

Lo importante aquí es que Clip Space es un cubo que tiene el 0,0 en el centro de la pantalla, y los lados son -1,1. Por tanto lo que haces con la matriz de perspectiva y con los valores que transformas es pasar de Screen Space a Clip Space. Te podrías ahorrar sin problemas la matriz de Projección, y hacer los cálculos en el vértice, si quisieras.

Sin embargo, si utilizas D3DFVF_XYZRHW, le estás diciendo a D3D que se salte el proceso de Vertex Shader y ya le das los valores en Screen Space. El problema de utilizar este sistema es que el Vertex Shader NO se ejecuta.

De todas formas, todavía no he empezado con la clase sprite, y estoy convencido de que el problemita del pixel me tocará las narices. Cuando lo tenga, te mando el código!!!
#589
Programación gráfica / Sprites 2D con DX9
25 de Julio de 2007, 07:53:47 AM
¿Entonces al final como te queda tu matriz?
#590
Programación gráfica / Sprites 2D con DX9
24 de Julio de 2007, 05:01:20 PM
Bueno, tu problem está bien documentando en el SDK de DX. todo es debido a que en DX el centro del pixel no está situado en la esquina superior izquierda como nos pensamos, y por tanto la asignación de texturas a pixels no es perfecta. Para ello hay que hacer una corrección en el shader. Pero como veo que no usas shaders, deberás hacerlo en tu propia matriz de transformación.

Precisamente ahora voy a hacer una clase de sprites y tengo que resolver este problema. Si lo consigo te digo cómo lo he hecho.

Si quieres, mírate el ejemplo de PostProcessing del SDk, verás que suma 0.5 en el Quad.
#591
Proyectos / Busco programador para juego
04 de Junio de 2007, 12:31:21 PM
La idea es genial. Lo que realmente veo interesante es que piensas en cosas nuevas, en lugar de intentar hacer lo mismo de lo mismo. Aunque no sé como funcionaría luego a nivel de juego, eso de mezclar piezas para ir evolucionando minetras estás pensando como colocarlas bien...En fin, se verá cuando se juegue :D

Pero la idea de empezar por algo sencillo, para acabar creando un grupo de desarrollo es la correcta. Esto tiene visos de tener mucho éxito.!!
Suerte con el proyecto!!
#592
Programación gráfica / Averiguar memoria de video de la tarjeta
29 de Noviembre de 2006, 01:43:03 PM
Creo que he encontrado un método: Windows Scripting  :D

Ahora sólo falta que alguien lo haga en C++ y ponga el código , claro  :D


On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("PCCENTRAL12")
For Each strComputer In arrComputers
  WScript.Echo
  WScript.Echo "=========================================="
  WScript.Echo "Computer: " & strComputer
  WScript.Echo "=========================================="

  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
  Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", _
                                         wbemFlagReturnImmediately + wbemFlagForwardOnly)

  For Each objItem In colItems
     strAcceleratorCapabilities = Join(objItem.AcceleratorCapabilities, ",")
        WScript.Echo "AcceleratorCapabilities: " & strAcceleratorCapabilities
     WScript.Echo "AdapterCompatibility: " & objItem.AdapterCompatibility
     WScript.Echo "AdapterDACType: " & objItem.AdapterDACType
     WScript.Echo "AdapterRAM: " & objItem.AdapterRAM
     WScript.Echo "Availability: " & objItem.Availability
     strCapabilityDescriptions = Join(objItem.CapabilityDescriptions, ",")
        WScript.Echo "CapabilityDescriptions: " & strCapabilityDescriptions
     WScript.Echo "Caption: " & objItem.Caption
     WScript.Echo "ColorTableEntries: " & objItem.ColorTableEntries
     WScript.Echo "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode
     WScript.Echo "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig
     WScript.Echo "CreationClassName: " & objItem.CreationClassName
     WScript.Echo "CurrentBitsPerPixel: " & objItem.CurrentBitsPerPixel
     WScript.Echo "CurrentHorizontalResolution: " & objItem.CurrentHorizontalResolution
     WScript.Echo "CurrentNumberOfColors: " & objItem.CurrentNumberOfColors
     WScript.Echo "CurrentNumberOfColumns: " & objItem.CurrentNumberOfColumns
     WScript.Echo "CurrentNumberOfRows: " & objItem.CurrentNumberOfRows
     WScript.Echo "CurrentRefreshRate: " & objItem.CurrentRefreshRate
     WScript.Echo "CurrentScanMode: " & objItem.CurrentScanMode
     WScript.Echo "CurrentVerticalResolution: " & objItem.CurrentVerticalResolution
     WScript.Echo "Description: " & objItem.Description
     WScript.Echo "DeviceID: " & objItem.DeviceID
     WScript.Echo "DeviceSpecificPens: " & objItem.DeviceSpecificPens
     WScript.Echo "DitherType: " & objItem.DitherType
     WScript.Echo "DriverDate: " & WMIDateStringToDate(objItem.DriverDate)
     WScript.Echo "DriverVersion: " & objItem.DriverVersion
     WScript.Echo "ErrorCleared: " & objItem.ErrorCleared
     WScript.Echo "ErrorDescription: " & objItem.ErrorDescription
     WScript.Echo "ICMIntent: " & objItem.ICMIntent
     WScript.Echo "ICMMethod: " & objItem.ICMMethod
     WScript.Echo "InfFilename: " & objItem.InfFilename
     WScript.Echo "InfSection: " & objItem.InfSection
     WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate)
     WScript.Echo "InstalledDisplayDrivers: " & objItem.InstalledDisplayDrivers
     WScript.Echo "LastErrorCode: " & objItem.LastErrorCode
     WScript.Echo "MaxMemorySupported: " & objItem.MaxMemorySupported
     WScript.Echo "MaxNumberControlled: " & objItem.MaxNumberControlled
     WScript.Echo "MaxRefreshRate: " & objItem.MaxRefreshRate
     WScript.Echo "MinRefreshRate: " & objItem.MinRefreshRate
     WScript.Echo "Monochrome: " & objItem.Monochrome
     WScript.Echo "Name: " & objItem.Name
     WScript.Echo "NumberOfColorPlanes: " & objItem.NumberOfColorPlanes
     WScript.Echo "NumberOfVideoPages: " & objItem.NumberOfVideoPages
     WScript.Echo "PNPDeviceID: " & objItem.PNPDeviceID
     strPowerManagementCapabilities = Join(objItem.PowerManagementCapabilities, ",")
        WScript.Echo "PowerManagementCapabilities: " & strPowerManagementCapabilities
     WScript.Echo "PowerManagementSupported: " & objItem.PowerManagementSupported
     WScript.Echo "ProtocolSupported: " & objItem.ProtocolSupported
     WScript.Echo "ReservedSystemPaletteEntries: " & objItem.ReservedSystemPaletteEntries
     WScript.Echo "SpecificationVersion: " & objItem.SpecificationVersion
     WScript.Echo "Status: " & objItem.Status
     WScript.Echo "StatusInfo: " & objItem.StatusInfo
     WScript.Echo "SystemCreationClassName: " & objItem.SystemCreationClassName
     WScript.Echo "SystemName: " & objItem.SystemName
     WScript.Echo "SystemPaletteEntries: " & objItem.SystemPaletteEntries
     WScript.Echo "TimeOfLastReset: " & WMIDateStringToDate(objItem.TimeOfLastReset)
     WScript.Echo "VideoArchitecture: " & objItem.VideoArchitecture
     WScript.Echo "VideoMemoryType: " & objItem.VideoMemoryType
     WScript.Echo "VideoMode: " & objItem.VideoMode
     WScript.Echo "VideoModeDescription: " & objItem.VideoModeDescription
     WScript.Echo "VideoProcessor: " & objItem.VideoProcessor
     WScript.Echo
  Next
Next


Function WMIDateStringToDate(dtmDate)
WScript.Echo dtm:
WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
& " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
End Function

#593
Bueno, yo me quedaría más que con el $ con la experiencia que puedas obtener. Al ser el 1er desarrollo, teneis que ser muy exigentes con vosotros mismos, y no fijaros tanto en el $. Tomaroslo como si fuerais becarios, pero eso sí, becarios que han tenido muchas suerte.
:D
Animo!!
#594
General Programadores / ZBuffer con NVidia
23 de Noviembre de 2006, 12:57:38 PM
Mirando por ahí, he visto que existe un falg en CreateDepthStencil que te hace un discard al hacer un Present o al hacer un SetDepthStencil, y que este flag es dependiente del driver.

Y también he visto que nvidia parece que utilizar CreateTexture en lugar de CreateDepthStencil ....¿Hay alguna razón para hacerlo así?
#595
General Programadores / ZBuffer con NVidia
23 de Noviembre de 2006, 10:50:06 AM
¿sabeis si hay algo diferente de como se trata el ZBuffer con ATI que con NVidia? Es que Jade con ATI va bien, pero no con NVidia, y el problema es el ZBuffer. Si se desactiva sí va bien. Parece como si sólo se escribiera bien la primera vez y luego no.

Yo creo que el problema es que en NVidia debe hacer un discard del surface, y quizás haya que hacer algo adicional, recuperarlo en cada frame, o algo así.

¿ideas?
#596
Industria y mercado / Visor de escenas para MAX
02 de Noviembre de 2006, 01:28:44 PM
Uff, que barato....Bueno, muchas gracias por la información, ya te iré contando...
#597
Industria y mercado / Visor de escenas para MAX
02 de Noviembre de 2006, 01:00:47 PM
Bueno, no usamos nada externo. Max generar los lightmaps y punto. No te pongo un Render porque es que queda igual que el render que hagas en MAX.

Interesante que no te funcionara. ¿usabais algún tipo de partición de espacio? ¿Octree?

¿Qué precio dabais?
#598
Programación gráfica / ¿Usar DX8.1 con el SDK 9.0c ?
02 de Noviembre de 2006, 12:09:02 PM
¿Sabeis si se puede?

Lo que quiero es compilar para DX8.1 pero sin tener que instalar el SDK del 8.1...

El objetivo es que el visor esté para 8.1, que ya viene de serie con XP y así no obligo a instalar el 9.0c
#599
Industria y mercado / Visor de escenas para MAX
02 de Noviembre de 2006, 11:58:17 AM
Bueno, esto está enfocado a arquitectura. Se trabaja en Max y se hacen renders, pero además puedes "volar" dentro.
#600
Industria y mercado / Visor de escenas para MAX
02 de Noviembre de 2006, 09:57:24 AM
Hemos creado un visor de escenas para MAX. Exporta la escena con lightmaps y el visor utiliza Newton para gestionar las colisiones. Está programado en C++ sobre DX 9.0c y utiliza la Fixed Pipeline. Lo cierto es que podría estar hecho en DX 8.1, pero nos ha dado pereza reinstalarlo, aunque al final quizás lo hagamos.

Bueno, hemos creado este proyecto porque nos han pedido un visor. Ahora nos gustaría saber si a alguien le interesaría utilizarlo, qué modelo de negocio podríamos utilizar y qué precios.

Mi idea sería que nos pasaran la escena y nosotros generar los lightmaps y darle un Exe empaquetado. Eso no les permite ir probando, pero creo que este tipo de producto es para un producto finalizado, y no para ir viendo como queda.

¿Podeis darme sugerencias?





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.