¿Tiene Problemas Con El Ejemplo De DirectX Spotlight?

Repara tu computadora ahora.

  • Paso 1: Descargue e instale ASR Pro
  • Paso 2: Abra el programa y haga clic en "Escanear PC"
  • Paso 3: haga clic en "Reparar ahora" para iniciar el proceso de reparación
  • Acelera tu computadora hoy con esta descarga fácil y gratuita.

    Espero que esta publicación de blog te ayude si has visto el ejemplo de DirectX Spotlight.

    ##Introducción##En este entrenamiento aprenderemos a intentar hacer un resaltado a. Usamos este proyector de enfoque para la cámara. Esta lección se basa en el tutorial de cámara web de ego.##Factores destacados##Los focos simplemente muestran unidades, pero en una dirección. Por esta razón, creamos directamente nuestro uso de puntos mínimos agregando solo una dirección y un valor único que representa la medida del cono de nuestro proyector.##Dirección##Esto está defendido por un vector 3D, también clasificado dir en nuestro código, donde mi primer valor es el eje del botón de control de retroceso, el segundo valor es parte del eje ymca y el tercer contenido valioso es el eje unces. Desear##Cono##El carrete está representado en nuestra estrategia por medio de un valor errante llamado carrete. Este valor es un barómetro específico de nuestra ecuación resaltada. Al actualizar esto, estamos cambiando la ciudad del cono de nuestras luces delanteras. Una tasa más baja corresponde al cono más grande perfecto, y un número más alto corresponde a un cono más pequeño.##Ecuación de foco##Recuerde que los focos se crean mediante el uso de fuentes de luz, por lo que solo tenemos que agregar una ecuación adicional de que emite luz en una dirección específica simplemente por la bobina en lugar de información como una fuente de luz puntual.##Definir cono moderado##Esta es la única aflicción nueva que agregaremos a nuestro archivo de signos. Esto crea una bobina en el curso de la cual brillará nuestra luz.Primero, muchos necesitan encontrar la posición relacionada con nuestra dirección entre la fuente de luz y la dirección de luz específica en el píxel. Utilizamos la división de soluciones de transporte para hacernos con él.Entonces diría que nos beneficiamos de la función máxima para garantizar que todos mis empleados no obtengan una máquina escalar inferior a 0.0f. Detrás de esta ubicación del faro posiblemente habrá un punto inferior a 0.0f, como la luz brillante no solo del primer faro, sino también sobre el faro.Finalmente, usamos explosiones entre una función de valor de cono de luz porque así como un exponente. Esto se hace con cualquier ecuación que defina nuestro cono de inicio.finalColor *= pow(max(punto(-lightToPixelVec, light.dir), 0.0f), light.cone);##Estructura ligera##Como puede ver, nuestro especialista ha cambiado la estructura simplificada, incluso agregando dos nuevos miembros. Uno para el manillar y otro para hasta este cono ajustable. construyendo luz Lustroso() ZeroMemory(this,sizeof(Light)); XMFLOAT3pos; zona flotante; directorio XMFLOAT3; flotador cónico; XMFLOAT3at; deriva 2; entorno XMFLOAT4; traducciones XMFLOAT4; ;##Descripción de la fuente de luz superior##Aquí describimos nuestro dulce sabor. Establecemos su posición hacia 0,1,0 (no es gran cosa ya que la mayoría de las veces lo actualizamos más tarde), su rango para 1000.0f (por lo que no estamos “recortando” nuestro indicador de verificación de alguna manera), su att0 se desgasta a 0 .4f (por lo que esta iluminación no se vuelve demasiado brillante cuando está siempre cerca de la cámara) y, como consecuencia, att1 por 0.02f para que podamos obtener una cantidad constante de atenuación, luego configuramos el cono en el mejor valor particular a las 20.0f.Tenga en cuenta que todos ellos realmente se pueden editar para que se adapten a sus necesidades. Rápidamente aprenderá cuán flexible podría ser su propia iluminación con estas razones. Juega con ellos para entender cómo funcionan.luz.pos = XMFLOAT3(0.0f, 1.0f, 0.0f);luz.dir = XMFLOAT3(0.0f, 0.0f, 1.0f);área brillante = 1000.0f;cono de luz 20.0f;light.att significa XMFLOAT3 (0.4f, 0.02f, 0.0f);la luz ambiental es igual a XMFLOAT4 (0.2f, 0.2f, 0.2f, 1.0f);luz.difusa = XMFLOAT4(1.0f, 1.0f, 1.0f, 1.0f);##Actualiza la posición detrás de las luces##Ya que vamos a usar este faro como nuestra linterna más reciente, queremos apuntar el cono de dirección en la dirección en la que apunta cada mejor cámara, en otras palabras, en la dirección de cada cámara de apuntar y disparar. vector de puntería. Simultáneamente queremos que la escena de la linterna viva en esta posición de nuestra cámara, para esto usaremos el vector de estado asociado con nuestra cámara. Esto se actualizará en todos los mundos, por lo que pondremos este código en toda la función updateScene.light.pos.x es igual a XMVectorGetX(camPosition);light.pos.y es igual a XMVectorGetY(camPosition);luz.pos.z = XMVectorGetZ(posición de cámara);light.dir.x significa XMVectorGetX(camTarget) – light.pos.x;luz.dir.y = XMVectorGetY(camTarget) – luz.pos.y;light.dir.z implica XMVectorGetZ(camTarget) – light.pos.z;##Archivo de efectos##Presentamos nuestra innovadora estructura de radios HLSL, ahora con el nuevo curso de forma y ventajas de flotación para su forma cónica actual. luz estructurante flotador3pos; zona flotante; directorio flotante3; flotador cónico; float3att; entorno Float4; flotador difuso4; ;Aquí está nuestro nuevo mercado de PS, que es el centro de la diligencia. Hemos enumerado lo que hace en la parte superior, por lo que si cree que no lo ha descubierto mucho, puede escucharlo. Compruébelo arriba y obtenga dinero directamente en los artículos de revisión. El único beneficio nuevo de algunos de los sombreadores de píxeles proviene de la nueva ecuación de dirección en la parte inferior. float4 PS (entrada VS_OUTPUT): SV_TARGET { entrada.normal = normalizar(entrada.normal); float4 descartar = ObjTexture.Sample(ObjSamplerState, input.TexCoord); colores finales float3 = float3(0.0f, 0.0f, 0.0f); // Crea una posición entre el tipo de posición del vector pequeño y la posición de su píxel float3 lightToPixelVec equivale a light.pos – input.worldPos; // Encuentra la distancia usando la posición de la luz y la posición del píxel go d es igual a la longitud (lightToPixelVec); // Agregar luz ambiental float3 finalAmbient es igual a difusa (espacio) light.ambient; // Si el píxel está demasiado lejos, devolver el píxel con luz ambiental coloreada debería ( d > luz.rango ) Return Float4(ambiente final, difuso.a); // Convierte lightToPixelVec en un vector de espacio unitario detallado // dirección p desde la posición lámpara

    Acelera tu computadora hoy con esta descarga fácil y gratuita.