- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
void BloomPattern::process(GLuint rectangleVao, float blurRadius) const
{
sptrFrameBufferTwo->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
sptrBrightPassShaderProgram->enable();
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferThree->getColorTexture().getTexture());
sptrBrightPassShaderProgram->setUniform("colorTexture", 0);
glBindVertexArray(rectangleVao);
glViewport(0, 0, windowWidth >> 1, windowHeight >> 1);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
sptrFrameBufferOne->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
sptrBlurShaderProgram->enable();
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferTwo->getColorTexture().getTexture());
sptrBlurShaderProgram->setUniform("defaultTexture", 0);
sptrBlurShaderProgram->setUniform("blurRadius", 1.0F / (windowWidth >> 1), 0.0F, blurRadius);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
sptrFrameBufferTwo->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferOne->getColorTexture().getTexture());
sptrBlurShaderProgram->setUniform("defaultTexture", 0);
sptrBlurShaderProgram->setUniform("blurRadius", 0.0F, 1.0F / (windowHeight >> 1), blurRadius);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
sptrFinalFrameBuffer->enable();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
sptrBloomShaderProgram->enable();
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferThree->getColorTexture().getTexture());
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, sptrFrameBufferTwo->getColorTexture().getTexture());
sptrBloomShaderProgram->setUniform("defaultTexture", 0);
sptrBloomShaderProgram->setUniform("brightpassTexture", 1);
glViewport(0, 0, windowWidth, windowHeight);
glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, nullptr);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
}
someone 07.07.2015 13:44 # +1
Vasiliy 07.07.2015 13:53 # 0
guest 07.07.2015 14:06 # 0
Vasiliy 07.07.2015 15:16 # 0
это ?
bormand 07.07.2015 16:31 # 0
sptr* - это члены класса, не?
Vasiliy 07.07.2015 16:40 # 0
методы ?
sptrBrightPassShaderProgram->enable();
похоже на объекты.
bormand 07.07.2015 16:42 # 0
Какие еще методы? Просто переменные-члены:
Vasiliy 08.07.2015 11:30 # 0
roman-kashitsyn 08.07.2015 11:36 # 0
Vasiliy 08.07.2015 11:41 # 0
roman-kashitsyn 08.07.2015 11:55 # 0
А если есть локальный параметр с тем же именем, то победит локальный параметр.
Стандартные правила областей видимости.
Vasiliy 08.07.2015 12:31 # 0
roman-kashitsyn 08.07.2015 12:37 # +1
OuterClass.this.doStuff();
Если нужно обратиться к члену текущего объекта, перекрытому локальной переменной - используется явный this-> / this.
В плюсах бывают глобальные переменные, там всегда можно указать явную область видимости для символа через двойные двоеточия
::GlobalObject->doStuff();
Vasiliy 08.07.2015 12:41 # 0
roman-kashitsyn 08.07.2015 12:45 # 0
3_14dar 08.07.2015 12:52 # 0
roman-kashitsyn 08.07.2015 13:02 # +1
Видимо, это один из тех случаев.
3_14dar 08.07.2015 18:31 # 0
roman-kashitsyn 08.07.2015 18:35 # 0
Сказали, язык существенно меняться в обозримом будущем не будет.
Будет улучшаться рантайм и расширяться стандартная библиотека.
3_14dar 08.07.2015 18:44 # 0
>Кен Томпсон
Он еще не сдох?
roman-kashitsyn 08.07.2015 18:51 # 0
Что сделали? Явно именуют аргумент this? Ну например затем, что аргумент может приходить в метод по ссылке и по значению. Можно прикреплять методы к типам-значениям вроде инта.
func (byref *T) M()
func (byval T) M()
> Он еще не сдох?
С чего вдруг. Пусть живёт, хороший дядька.
3_14dar 08.07.2015 19:11 # −1
Ну ричи воткнул пару лет назад, а этот, сука, еще и языки разрабатывает.
>аргумент может приходить в метод по ссылке и по значению.
this?
kegdan 08.07.2015 19:15 # 0
Vasiliy 08.07.2015 19:15 # 0
kegdan 08.07.2015 19:20 # 0
— У вас шарики есть.
— Есть.
— Хорошие?
— Нет, плохие.
— Дырявые?
— Нет — не дырявые.
— Плохо дуются?
— Нет, хорошо.
— Не яркие?
— Яркие.
— А почему, плохие?
— Не скачут Не радуют...
Vasiliy 08.07.2015 19:12 # 0
3_14dar 08.07.2015 19:13 # 0
kegdan 08.07.2015 19:16 # 0
3_14dar 08.07.2015 19:20 # 0
>Жаль только поехавший
:))
Vasiliy 08.07.2015 19:47 # 0
3_14dar 08.07.2015 19:52 # 0
bormand 08.07.2015 19:53 # 0
1024-- 08.07.2015 20:23 # 0
Пишу на крестах - красота: функции, переменные, классы. Пишу на жс - функции, перем... this, this, this! This this! За this что?! this отвлекает от сути.
Хотя, можно использовать синонимы, это да.
Vasiliy 08.07.2015 20:31 # 0
roman-kashitsyn 08.07.2015 20:35 # 0
3_14dar 08.07.2015 20:39 # 0
Vasiliy 08.07.2015 21:18 # 0
1024-- 08.07.2015 22:01 # 0
kegdan 08.07.2015 22:05 # 0
- А если не найдешь?
- o SHI...
Vasiliy 08.07.2015 22:05 # 0
kegdan 08.07.2015 22:28 # 0
Vasiliy 08.07.2015 22:37 # 0
1024-- 09.07.2015 00:45 # +1
На ГК уже обсуждали https://github.com/jterrace/js.js/ - SpiderMonjey на жс.
А ещё есть как минимум https://github.com/NeilFraser/JS-Interpreter (рукописная питушня?), только там не до конца реализовано.
inkanus-gray 11.07.2015 00:42 # +1
kegdan 11.07.2015 01:24 # +1
kegdan 07.07.2015 16:46 # 0
Vasiliy 08.07.2015 11:32 # 0