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 - Degiik

#1
Programación en red / Libreria de Sockets...
15 de Enero de 2008, 05:01:57 PM
Gracias, si sale alguna más para evaluarlas todas de golpe será de agradecer.

:D
#2
Programación en red / Libreria de Sockets...
13 de Enero de 2008, 05:14:10 PM
Hola,

Alguien me recomienda alguna libreria de sockets TCP/UDP gratuita ?

Gracias.
#3
Programación gráfica / Blending con Dx9
06 de Marzo de 2007, 05:45:02 PM
Cita de: "marcode"creo que se puede hacer con D3DRS_SEPARATEALPHABLENDENABLE, pero nunca lo he probado y no sé que tarjetas lo soportan.

Mírate los últimos "render state types" enumerados
http://msdn2.microsoft.com/en-us/library/bb172599.aspx

Que grande !!!
Antes de poner el post pensaba como últmo recurso un PixelShader. Pero ahora tengo justo lo que necesitaba, tratar el Alpha por separado.

SEPARATEALPHABLENDENABLE me funciona en una 7600gt lo digo por si alguien lo quiere tener como referencia.

Gracias por las respuestas.  
:wink:
#4
Programación gráfica / Blending con Dx9
05 de Marzo de 2007, 11:34:11 PM
Hola os expongo mi problema.

Dispongo de una textura A con todos los pixeles del siguiente color:

RGBA ( 0.8 , 0.6, 0.4, 1.0 )

y de la textura B con los pixeles:

RGBA ( 0.6, 0.4, 0.2, 0.5 )

Renderizando primero A (back) y después B (front), y usando:

IDirect3DDevice9::SetRenderState (D3DRS_SRCBLEND, D3DBLEND_SRCALPHA)
IDirect3DDevice9::SetRenderState (D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA)

/*
D3DBLEND_SRCALPHA
   Blend factor is (As, As, As, As).
D3DBLEND_INVSRCALPHA
   Blend factor is ( 1 - As, 1 - As, 1 - As, 1 - As).
*/

el pixel resultante del blending es:

RGBA ( )

Formula:

OutputPixel = (SrcPixel x ScrBlendMode) + (DstPixel x DstBlendMode)  

OutputPixel  = RGBA ( 0.8 * 0.5, 0.6 * 0.5, 0.4 * 0.5, 1.0 *  0.5) + RGBA ( 0.6 * (1 - 0.5), 0.4 * (1 - 0.5), 0.2 * (1 - 0.5), 0.5 * (1 - 0.5))

OutputPixel  = RGBA ( 0.4, 0.3, 0.2, 0.5) + RGBA ( 0.3, 0.2, 0.1, 0.25 )

OutputPixel  = RGBA ( 0.7, 0.5, 0.3, 0.75)

( corregirme si me he equivocado )

Como puedo hacer para que entre los componentes RGB se calcule el blending, pero sobre la componente A quede con el valor del DstPixel ?

Es decir:

OutputPixel  = RGBA ( 0.7, 0.5, 0.3, 1.0)
#5
Programación gráfica / POINT SPRITE - textCoord
29 de Octubre de 2006, 06:40:25 PM
Cuando se trabaja con POINT_SPRITE se pueden controlar las coordenadas de textura ?

:twisted:
#6
Programación gráfica / Link portal Shaders
23 de Octubre de 2006, 10:01:32 AM
Hola,

Existe algun portal de dedicacion exclusiva de shaders. Con repositorio. HLSL.

Gracias.

P.D: En links de programacion no he visto ninguno.
#7
Programación gráfica / Problemas con el Formato Surface D3D.
21 de Septiembre de 2006, 12:55:17 PM
Hola, estoy intentando acceder al BackBuffer para poder tener un puntero de memoria para despues jugar con el, por ejemplo, para tomar un screenshot.

En la creación del device establezco ARGB-32bits i permito bloquear el back buffer...

d3dPP.Flags|=D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;

Despues de renderizar uso...

hr=p3DDev->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO,&lpSurface);
hr=lpSurface->LockRect(&LockedRect, NULL, D3DLOCK_READONLY);

i resulta q LockedRect.pBits no tiene el puntero a memoria local q espero con el ARGB 32 bits... despues de darle vueltas i depurando, veo que lpSurface me parece con D3DFMT_UNKNOWN despues de llamar a GetBackBuffer.

Como he de hacer para que la Surface tenga el formato que espero ( D3DFMT_A8R8G8B8) ? Alguna idea ? commentario ? ayuda ?

----------


También intente obtener la misma información pero del FrontBuffer, usando GetFrontBufferData de la siguiente forma:

hr=p3DDev->CreateOffscreenPlainSurface(lWidth,lHeight,D3DFMT_A8R8G8B8,D3DPOOL_DEFAULT,&lpSurface,NULL);
//hr=p3DDev->CreateRenderTarget(1280,1024,D3DFMT_A8R8G8B8,D3DMULTISAMPLE_NONE,0,TRUE,&lpSurface,NULL);
hr=p3DDev->GetFrontBufferData(0,lpSurface);
hr=lpSurface->LockRect(&LockedRect, NULL, D3DLOCK_READONLY);

Pero en la llamada a GetFrontBufferData hr tiene valor de error. ( D3DERR_INVALIDCALL creo recordar )

:cry:  :cry:  :cry:

Alguien me puede echar un cable con alguna de las dos alternatvas ? si puedo elegir, la mas rápida, claro...

Gracias de antemano.
#8
General Programadores / Instalable + VJM
06 de Julio de 2006, 05:07:53 PM
Existe algun instalador gratuito para un programa de java, que mire si tiene la vjm el pc i sino lo instalte ?

Gracias.
#9
General Programadores / Ventanas Acoplables
30 de Mayo de 2006, 10:13:42 AM
 Hola,

Existe algun control en .NET (VB o C#) que sea una ventana de esas acoplables como las de VStudio .NET con la chinchetas para clavarla o hacerla emergente ?

Asias
#10
General Programadores / Fucniones C ( Arranque, Parada )
23 de Mayo de 2006, 03:24:11 PM
Cita de: "zupervaca"
Citara.- No me llames majete
Vale, pero es una simple forma de hablar

Citarb.- Que difencia hay entre una clase global, i una clase estatica global ?
El orden de destruccion, veo que no te has empollado el estandar c++, una clase global no estatica se destruye antes que una clase estatica global.

No se por que preguntas para luego hacer estas cosas.
CitarEl orden de destruccion, veo que no te has empollado el estandar c++, una clase global no estatica se destruye antes que una clase estatica global

#include <windows.h>
#include <stdio.h>

class a
{
public:
 int v;
 
 a(){v=0;}
 ~a()
  {
  char s[10];
 
  sprintf (s,"%d",v);
  MessageBox (NULL,s,NULL,MB_OK);
  }
};

static class b
{
public:
 int v;
 
 b(){v=1;}
 ~b()
  {
  char s[10];
 
  sprintf (s,"%d",v);
  MessageBox (NULL,s,NULL,MB_OK);
  }
};

class c
{
public:
 int v;
 
 c(){v=2;}
 ~c()
  {
  char s[10];
 
  sprintf (s,"%d",v);
  MessageBox (NULL,s,NULL,MB_OK);
  }
};

a aa;
b bb;
c cc;

void main (void)
{


}


Salida:

2
1
0


CitarNo se por que preguntas para luego hacer estas cosas.

Pregunto porque no se si eres muy bueno, o muy malo. En cualquier caso, tu tono es muy prepotente y sentenciador, y no queria realizar un asociación directa entre lo primero y segundo.
#11
General Programadores / Fucniones C ( Arranque, Parada )
22 de Mayo de 2006, 09:58:27 PM
 a.- No me llames majete
b.- Que difencia hay entre una clase global, i una clase estatica global ?  :ph34r:

Sigo en mis trece... q tiene q haber algo.
#12
General Programadores / Fucniones C ( Arranque, Parada )
22 de Mayo de 2006, 02:16:33 PM
Cita de: "zupervaca"Si hablas de objetos me imagino que usaras c++, entonces lo que puedes hacer es crear una clase estatica global y en su destructor hacer lo que quieras, si tienes mas de una clase estatica esta debe ser la primera en crearse para ser la ultima en destruirse.
"...una clase estatica global..."  O_O


Insisto en que debe haber algun forma prevista.
#13
General Programadores / Fucniones C ( Arranque, Parada )
22 de Mayo de 2006, 09:08:19 AM
 Yo lo q pretendo es ejecutar código depués de que se ejecuten los destructores de todos los objetos de la applicación. Creo q tiene que existir algo al respecto predefinido, sin hacer paranoias. Si alguien puede ayudar, lo agradeceré enormemente.

Un saludo.
#14
General Programadores / Fucniones C ( Arranque, Parada )
21 de Mayo de 2006, 11:53:37 AM
 Asias sés,

Pero no es la que busco. Concretamente necesito una funcion que se llama después de que se ejecuten los destructores de los objetos. atexit se ejecuta antes.

Nota: creo recordar que empezaba por _ o __ el nombre de la función, y es seguro que hablo de ella ( como mínimo la de arranque ) MChiz en uno de sus post ( q no trataba sobre ese tema, así que  por eso me puedo volver loco buscando ).

Un saludo.
#15
General Programadores / Fucniones C ( Arranque, Parada )
21 de Mayo de 2006, 10:59:58 AM
 Hola,

Se que hace algun tiempo ( quizas dos años ) use un par de funciones de C predefinidas que se ejecutaban antes y después de lanzar la main. No recuerdo cuales son, ni encuentro en sant google. Alguien me puede ayudar ?

Un saludo.





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.