File t.c changed (mode: 100644) (index 4f84081..5a7889e) |
... |
... |
void main() |
27 |
27 |
{ |
{ |
28 |
28 |
|
|
29 |
29 |
|
|
30 |
|
//mat3 m3 = mat3( projection[0].xyz,projection[1].xyz,projection[2].xyz); |
|
31 |
30 |
p= projection; |
p= projection; |
32 |
31 |
cb=n; |
cb=n; |
33 |
32 |
gl_Position = projection*in_position; |
gl_Position = projection*in_position; |
|
... |
... |
knn=in_position; |
40 |
39 |
const GLchar *frag_src =R"( |
const GLchar *frag_src =R"( |
41 |
40 |
#version 330 |
#version 330 |
42 |
41 |
#extension GL_ARB_explicit_uniform_location : enable |
#extension GL_ARB_explicit_uniform_location : enable |
43 |
|
layout(location =11)uniform sampler2D t; |
|
|
42 |
|
layout(location =11)uniform sampler2D t; |
|
43 |
|
|
44 |
44 |
float intensity; |
float intensity; |
45 |
45 |
in vec2 kn; |
in vec2 kn; |
46 |
46 |
in vec4 knn; |
in vec4 knn; |
47 |
47 |
in mat4 p; |
in mat4 p; |
48 |
48 |
in vec3 cb; |
in vec3 cb; |
|
49 |
|
layout(location =13)uniform mat4 pro; |
|
50 |
|
layout(location =14)uniform mat4 tw; |
49 |
51 |
|
|
50 |
52 |
void main() |
void main() |
51 |
53 |
{ |
{ |
52 |
|
vec3 b=vec3(.5,-.4,-.42); |
|
53 |
|
//vec3 tb=vec3(p*b); |
|
54 |
|
mat3 tw = transpose(inverse(mat3(p))); |
|
55 |
|
vec3 h = normalize(tw*cb); |
|
56 |
|
vec3 s = vec3(p * knn ); |
|
|
54 |
|
vec3 b=vec3(5.5,-.4,-.42); |
|
55 |
|
|
|
56 |
|
vec4 h = normalize(tw*vec4(cb,0.0)); |
|
57 |
|
vec3 s = vec3(pro * knn ); |
57 |
58 |
vec3 hk=normalize(b - s); |
vec3 hk=normalize(b - s); |
58 |
|
intensity = max(dot(h,b), 0.0); |
|
|
59 |
|
intensity = max(dot(h.xyz,hk), 0.0); |
59 |
60 |
if(gl_FrontFacing) |
if(gl_FrontFacing) |
60 |
61 |
gl_FragColor = vec4( intensity*texture( t, kn).xyz, 1.); |
gl_FragColor = vec4( intensity*texture( t, kn).xyz, 1.); |
61 |
62 |
else discard; |
else discard; |
|
... |
... |
else discard; |
66 |
67 |
|
|
67 |
68 |
int bba; |
int bba; |
68 |
69 |
|
|
69 |
|
glm::mat4 yt,b; |
|
|
70 |
|
glm::mat4 yt,b,bc,bct; |
70 |
71 |
ImageSpec c; |
ImageSpec c; |
71 |
72 |
GLubyte trr[1024*1024*4]; |
GLubyte trr[1024*1024*4]; |
72 |
73 |
|
|
|
... |
... |
bba=(bbh)/3; |
182 |
183 |
|
|
183 |
184 |
b=glm::lookAt(glm::vec3(-1.2484,0.483,1.84384), glm::vec3(-0.3801, -0.4183,-3.15),glm::vec3( 0., 0.2,-00.)); |
b=glm::lookAt(glm::vec3(-1.2484,0.483,1.84384), glm::vec3(-0.3801, -0.4183,-3.15),glm::vec3( 0., 0.2,-00.)); |
184 |
185 |
yt=glm::perspective(45., 1., 1.2, 300.); |
yt=glm::perspective(45., 1., 1.2, 300.); |
|
186 |
|
bct=b*glm::mat4(1.); |
|
187 |
|
|
185 |
188 |
b=yt*b*glm::mat4(1.); |
b=yt*b*glm::mat4(1.); |
186 |
189 |
|
|
|
190 |
|
bc=glm::transpose(glm::inverse(bct)); |
|
191 |
|
|
187 |
192 |
//b=glm::lookAt(glm::vec3(0., 0.,-1.),glm::vec3( 0., 0., 0.),glm::vec3( 0.,025.,-1.)); |
//b=glm::lookAt(glm::vec3(0., 0.,-1.),glm::vec3( 0., 0., 0.),glm::vec3( 0.,025.,-1.)); |
188 |
193 |
//yt=yt*b; |
//yt=yt*b; |
189 |
194 |
|
|
|
... |
... |
glBufferData(GL_ARRAY_BUFFER, sizeof(float)*bbp, t, GL_STATIC_DRAW); |
248 |
253 |
glBindVertexArray(0); |
glBindVertexArray(0); |
249 |
254 |
|
|
250 |
255 |
//glGenTextures(1, &vertexT); |
//glGenTextures(1, &vertexT); |
251 |
|
//glBindBuffer(GL_ARRAY_BUFFER, vertexT); |
|
252 |
256 |
// glActiveTexture(GL_TEXTURE0); |
// glActiveTexture(GL_TEXTURE0); |
253 |
257 |
// glBindTexture(GL_TEXTURE_2D, vertexT); |
// glBindTexture(GL_TEXTURE_2D, vertexT); |
254 |
258 |
|
|
|
... |
... |
static gboolean render(GtkGLArea *area, GdkGLContext *context) |
269 |
273 |
|
|
270 |
274 |
|
|
271 |
275 |
glUseProgram(gl_program); |
glUseProgram(gl_program); |
|
276 |
|
|
272 |
277 |
glUniformMatrix4fv(10, 1, 0, &b[0][0]); |
glUniformMatrix4fv(10, 1, 0, &b[0][0]); |
|
278 |
|
glUniformMatrix4fv(13, 1, 0, &bct[0][0]); |
|
279 |
|
glUniformMatrix4fv(14, 1, 0, &bc[0][0]); |
|
280 |
|
|
273 |
281 |
glUniform1i(11, 0); |
glUniform1i(11, 0); |
274 |
282 |
|
|
275 |
283 |
glBindVertexArray(gl_vao); |
glBindVertexArray(gl_vao); |