Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sex 30 Dez 2016, 16:49
Queria saber mais sobre pastas chamada Shaders
Edu 3D
Edu 3D
Modelador - Básico
Modelador - Básico
Mensagens : 1439
Reputação : 29
Desde : 13/09/2015
Idade : 22
Localização : MT
em Sex 30 Dez 2016, 16:51
https://www.google.com.br/ >>
Shaders o que são? >>
O que são shaders de um jogo? Phong-shading-sample
Shaders são comumente são usados para produzir iluminação e sombreado em modelagem 3D. Essa imagem ilustra o Sombreamento de Phong, um dos primeiros modelos de shading de computador desenvolvido.
Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sex 30 Dez 2016, 20:23
Entendi, enquando o flat shanding é como se fosse um vídeo em baixa resolução, que o deixa mais pixelado,
o phong shading seria uma qualidade superior?
Edu 3D
Edu 3D
Modelador - Básico
Modelador - Básico
Mensagens : 1439
Reputação : 29
Desde : 13/09/2015
Idade : 22
Localização : MT
em Sex 30 Dez 2016, 20:26
@Sckoofer na verdade não, muda-se o efeito especular na malha, é o reflexo da luz batendo na malha.
@edit "Shading refere-se à demonstração da percepção de profundidade em modelagem 3D ou ilustrações através da variação de níveis de escuridão."
Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sex 30 Dez 2016, 20:32
Ah ta, então é só o reflexo então? Resumindo, shader é só isso?
E se um jogo tem shaders editaveis, a unica coisa que posso modificar é o reflexo da luz sobre
os objetos? personagens?
Edu 3D
Edu 3D
Modelador - Básico
Modelador - Básico
Mensagens : 1439
Reputação : 29
Desde : 13/09/2015
Idade : 22
Localização : MT
em Sex 30 Dez 2016, 20:40
@Sckoofer sim, mas dependendo da engine haverá vários tipos de Shaders possibilitando fazer vários tipos de reflexos e relevos falsos...
LINK/2012
LINK/2012
Programador - Avançado
Programador - Avançado
Mensagens : 7652
Reputação : 349
Desde : 03/05/2012
  • Reputação da mensagem: 100% (3 votos)
em Sex 30 Dez 2016, 20:56
O que são shaders de um jogo? DelphiDoom_True_Color_Software_Renderer_2

Antes do surgimento de placas 3d, o processo de renderização era todo na CPU. Da preparação dos vértices até os pixeis finais, que só ai eram enviadas ao monitor. Não precisa dizer que isso era lento.

Na quinta geração (PSX), foram inventadas as placas aceleradoras 3d. Tais placas tomaram o papel de rasterizar os vértices em pixeis, livrando o CPU dessa árdua tarefa. Tais placas, porém, ofereciam apenas funções pré-programadas. Os programadores, portanto, só configuravam atributos e mandavam os vértices (já transformados para clip space¹) e a placa as rasterizavam.

¹ Se você imaginar modelos isolado, eles tem seu próprio espaço com centro (0,0,0) e seus vértices estão contidos nesse espaço. Em clip space, essas vértices são transformados para coordenadas que distingam a posição de cada instância desses modelos.

O que são shaders de um jogo? Half-Life_captura_de_tela

Haviam vários problemas nisso. O primeiro é que o CPU ainda ficava responsável por muita coisa, até mesmo iluminação. A placa gráfica era só e apenas só um renderizador de triângulos. Outro problema era que o processo era muito genérico, você pode notar que muito dos jogos antes do novo milênio eram muito parecidos graficamente.

A NVIDIA introduziu a capacidade da placa fazer a iluminação e transformação (T&L) em um determinado momento, mas o problema da limitação por funções pré-programadas persistia.

Foi então que nos anos 2000 (XBOX), a NVIDIA e ATI introduziram a capacidade dos programadores inserirem mini programas entre os estágios de renderização da placa. Agora sim, as placas tornaram-se algo mais do que aceleradoras 3d, passaram a ser unidades de processamento gráfico (GPUs).

O que são shaders de um jogo? Half-life-2-screenshots_21

Esses mini programas são denominados shaders. Existem dois lugares os quais você pode interceptar o processo de renderização com seus shaders: No momento de transformação das coordenadas dos vértices para clip space e, também, no de processamento de fragmentos. Isto é, vertex shaders e fragment shaders (também conhecidos como pixel shaders).

Vertex Shaders

Um programa de vertex shader recebe como entrada uma vértice e devolve essa mesma vértice, porém transformada.  As aplicações variam: escalar, mover, animar e sei lá mais o que uma determinada vértice.

Por exemplo, você pode aplicar em cada vértice de um plano (que tenha muitas vértices) uma função seno que varia conforme o tempo, o resultado será um shader de movimentação de água:



Entre passos

O que são shaders de um jogo? VertexShaderDataFlow

Depois que os vertex shaders devolvem vértices, a GPU finalmente computa suas respectivas posições no espaço bidimensional da tela, que dará a ilusão de tridimensionalidade:

O que são shaders de um jogo? RasterizerDataFlow

Em seguida, a tela é divida em fragmentos. Isto é, pedaços que estão sendo tomados por um triangulo:

O que são shaders de um jogo? TriangleScanConvert

Ou mais de um triangulo...

O que são shaders de um jogo? SharedEdgeScanConvert

Fragment Shaders

E então os fragment shaders são chamados. Eles tomam como entrada a posição bidimensional em que o fragmento está, e devolvem sua cor e profundidade.

São tantos os usos de fragment shaders que fica difícil de dar exemplos. Os mais fundamentais, no entanto, são os de iluminação, sombreamento, etc.

O que são shaders de um jogo? Ps-big
A ATI foi a primeira no mercado a introduzir o conceito de fragment shaders

Efeitos especiais (PostFX) também são feitos nesse tipo de shader. Mas como o nome diz, post, eles passam o shader por cima de um render final. Ou seja, renderizam tudo em uma textura, e em seguida renderizam essa textura na tela inteira, aplicando o fragment shader do efeito na mesma.

O que são shaders de um jogo? Radialblur

Apesar de haver uma (ou mais de uma) implementação de anti-aliasing embutida na GPU, também é possível escrever uma implementação em forma de PostFX. Uma dessas implementações é FXAA, que apesar de menos poderosa, é mais rápida que a implementação em hardware.

Pioneiros

Os jogos que foram pioneiros no uso de uma arquitetura de shaders, na época claro, foram Far Cry, Half-Life 2 e Doom 3. Por tal motivos possuem gráficos sem precedentes. Essa era uma decisão comercial difícil pois dos consoles dessa geração, o único capaz de executar shaders era o XBOX, e por isso nenhum deles foi portados pro PS2 e Gamecube.

Só pra ter um feeling de como era foda isso tudo na época, dá uma olhada na apresentação técnica do Half-Life 2 na E3 2003, a galera fica sem palavras.



Hoje em dia, utilizar shaders nos jogos não é mais uma opção, é uma obrigação. As GPUs convergiram pra essa arquitetura e não trazem mais aquelas funções pre-programadas dos anos 90. Então os desenvolvedores sempre precisam escrever shaders pra interagir com a GPU.

Existe também um tipo de shader mais novo chamado de geometry shader, que roda após vertex shader. Ele toma como entrada uma primitiva (ponto, triangulo) e tem como saída uma ou mais primitivas. Não sei muito sobre isso, então não vou comentar muito, mas acho que é usado pra fazer tesselation:

O que são shaders de um jogo? Tessellation-Stones


Última edição por LINK/2012 em Sex 30 Dez 2016, 23:06, editado 5 vez(es)

______________________________
"Give a man a game engine and he delivers a game. Teach a man to make a game engine and he never delivers anything."

O que são shaders de um jogo? 2ywzqdu
Thelost
Thelost
Programador - Avançado
Programador - Avançado
Mensagens : 10179
Reputação : 265
Desde : 08/11/2012
em Sex 30 Dez 2016, 21:39
aí sim

só fala bosta
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 24
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
em Sex 30 Dez 2016, 21:56
Aquele momento em que há 2 pessoas tentando falar sobre uma coisa, e um experiente no assunto chega contando a história da humanidade.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sex 30 Dez 2016, 22:03
Obrigado pela explicação, foi ótima.
Só uma dúvida, O Link/2012 não era o cara que estava trabalhando junto com o Criador do Cleo 4.1
Ah, agora não lembro o nome do cara, era SandMan não era? E o Link e mais o criador do Cleo e mais não sei quem estariam vendo a possibilidade de um Cleo 5?
Só uma dúvida mesmo.
Obrigado pela explicação!
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 24
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
em Sex 30 Dez 2016, 22:13
@Sckoofer escreveu:Obrigado pela explicação, foi ótima.
Só uma dúvida, O Link/2012 não era o cara que estava trabalhando junto com o Criador do Cleo 4.1
Ah, agora não lembro o nome do cara, era SandMan não era? E o Link e mais o criador do Cleo e mais não sei quem estariam vendo a possibilidade de um Cleo 5?
Só uma dúvida mesmo.
Obrigado pela explicação!
Seemann, e é 4.3, que atualmente quem tá mais cuidando é o Deji.
O LINK tá nos créditos por ter ajudado numas coisinhas (só sobre Steam ou teve mais coisa?). Mas espero que ele faça mais coisa :v:

Cara, pra mim, é só lançar uma CLEO que não tenha limite de variáveis locais que eu estaria 100% bem. Única coisa que me importa...
Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sex 30 Dez 2016, 22:31
E esse Seemann, ele vaga pelo gta forum respondendo dúvidas? ou em algum forum?
Foi ele que criou o Sanny Builder? E o que o Sanny Builder faz? É a mesma coisa que o cleo?
Edu 3D
Edu 3D
Modelador - Básico
Modelador - Básico
Mensagens : 1439
Reputação : 29
Desde : 13/09/2015
Idade : 22
Localização : MT
em Sex 30 Dez 2016, 22:54
Da vontade de apagar tudo foreveralone
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 24
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
em Sex 30 Dez 2016, 22:59
@Sckoofer escreveu:E esse Seemann, ele vaga pelo gta forum respondendo dúvidas? ou em algum forum?
Foi ele que criou o Sanny Builder? E o que o Sanny Builder faz? É a mesma coisa que o cleo?
É e é.
Mas o Sanny Builder é uma IDE, uma ferramenta para auxiliar a criação, e também compila. Nem ao menos ele tem a ver com cleo, pois cleo é só uma coisa que adiciona novas possibilidades, você até pode usar Sanny Builder sem cleo (editando o main.scm, como antigamente antes da cleo existir, ou ao criar conversões totais etc...).

O Seemann é o inventor da CLEO, lá de 2007. Em 2010 foi atualizada pelo ALIEN, recentemente atualizada pelo Deji (ainda tendo suportes do Seemann, NTAuthority e LINK/2012 e possivelmente mais uns, esses são os que lembro dos créditos). É que depois do ALIEN foi perdido o código fonte estável e fizeram merda na 4.2, daí tiveram que limpar a merda para lançar a 4.3, e só depois pensar numa CLEO 5.
http://www.mixmods.com.br/2015/01/curiosidade-inicio-da-cleo-historia-da.html
Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sex 30 Dez 2016, 23:15
Junior, me lembro que uma vez você tinha comentado que se de alguma forma fosse descoberto
todos os endereços de memória do .EXE do gta san, isso traria a possibilidade de melhores mods.
E quando lançou o gta san mobile, vazaram informações de todos os endereços.
Então, dê um exemplo de vantagem que essa informação trouxe pra comunidade?
valew
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 24
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
em Sex 30 Dez 2016, 23:26
@Sckoofer escreveu:Junior, me lembro que uma vez você tinha comentado que se de alguma forma fosse descoberto
todos os endereços de memória do .EXE do gta san, isso traria a possibilidade de melhores mods.
E quando lançou o gta san  mobile,  vazaram informações de todos os endereços.
Então, dê um exemplo de vantagem que essa informação trouxe pra comunidade?
valew
É estranho como você dá tanta informação certa-errada philosoraptor
Tipo, está "meio certo" que o LINK/2012 está ajudando na cleo, mas não como você aparentemente pensava (só um suporte superficial por enquanto, ele é amigo do pessoal e tal).
Está "meio certo" sobre a Livraria CLEO.
Está "meio certo" sobre o que você disse agora.

O erro está no "endereços de memória", onde na verdade, o que foi descoberto foi a lista de todos os nomes reais dos comandos do jogo (dos opcodes). Foi vazado na versão mobile do GTA SA.
Aqui a lista: http://pastebin.com/raw/Ra9JLLeN
E foi MUITO importante. Mas até antes já havia muita coisa importante vazada:
https://www.dropbox.com/s/bwxqe33c8ownfc8/gta3ta_source.rar
Isso é o fucking código-fonte do GTA 3 original da Rockstar, também vazada na versão mobile.

Nós atualmente já temos tanta informação sobre como a Rockstar criou os scripts de missões etc do GTA que o LINK/2012 refez o compilador da Rockstar numa versão mais moderna onde podemos usar para criar mods cleos (onde comecei a usar ):
http://gtaforums.com/topic/876530-gta3script-toolchain/
Ainda quero fazer um texto na Mix tentando contar melhor essa história.

Ah, e também não lembro de ter falado que se soubessem os nomes seria uma grande evolução pokerface possivelmente foi de outra coisa, realmente dos endereços, sei lá, os nomes das funções do .exe por exemplo seria uma revolução (mas improvável, nem vejo como isso aconteceria, no máximo a Rockstar nos dando uns arquivos .h do source, o que só em sonhos)
Cloud
Cloud
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Nick anterior : Israel
Título : Baiano
Mensagens : 856
Reputação : 138
Desde : 22/09/2015
em Sab 31 Dez 2016, 00:02
@Junior_Djjr escreveu:Cara, pra mim, é só lançar uma CLEO que não tenha limite de variáveis locais que eu estaria 100% bem. Única coisa que me importa...
Código:
0@ = 34
1@ = 35
2@ = 36

0@(0@,1i) = 17
0@(1@,1i) = 11
0@(2@,1i) = 34
NOOB

______________________________
Everyone gonna remember my name !
Sckoofer
Sckoofer
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 62
Reputação : 0
Desde : 11/11/2016
Idade : 24
em Sab 31 Dez 2016, 00:36
O quê? Vocês tem o código fonte? Do gta3? Sério mesmo?
Incrível! Me diga, em que linguagem ele foi desenvolvido???
Eu não entendo de programação, nem adianta eu abrir o teu link, eu não entendo nada.
E que compilador foi usado? Cara, eu aposto que a linguagem é em C!
Sabe o forum Zenhax, o Aluigi disse que descompilava os arquivos, usando um monte de código em C.
Junior_Djjr
Junior_Djjr
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 24
Localização : Ibitinga - SP
Link : www.MixMods.com.br
http://MixMods.com.br
em Sab 31 Dez 2016, 00:51
israel escreveu:
@Junior_Djjr escreveu:Cara, pra mim, é só lançar uma CLEO que não tenha limite de variáveis locais que eu estaria 100% bem. Única coisa que me importa...
Código:
0@ = 34
1@ = 35
2@ = 36

0@(0@,1i) = 17
0@(1@,1i) = 11
0@(2@,1i) = 34
NOOB
Ué, não seria a mesma coisa de desativar o "Checar ranges" das opções do Sanny? Desativando você pode usar acima de 33@, mas dá merda, claro. A opção deve estar lá exatamente para o uso de coisas que removem os limites (o Deji já criou o SuperVars que faz uma coisa assim)

@Sckoofer escreveu:O quê?  Vocês tem o código fonte? Do gta3? Sério mesmo?
Incrível! Me diga, em que linguagem ele foi desenvolvido???
Eu não entendo de programação, nem adianta eu abrir o teu link, eu não entendo nada.
E que compilador foi usado? Cara, eu aposto que a linguagem é em C!
Sabe o forum Zenhax, o Aluigi disse que descompilava os arquivos, usando um monte de código em C.
Como eu disse, "DAS MISSÕES ETC", e a linguagem é GTA3script, o que o LINK/2012 refez atualmente e podemos programar do jeitinho que a Rockstar programou. Inclusive o compilador do LINK/2012 compila sem problemas o source do GTA 3.
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum