Как использовать GL_REPEAT для повторения только выбора атласа структуры? (OpenGL)

rm(list = ls())
library(shiny)
members <- data.frame(name=c("Name 1", "Name 2"), nr=c('BCRA1','FITM2'))

ui <- fluidPage(titlePanel("Getting Iframe"), 
                sidebarLayout(
                  sidebarPanel(
                    fluidRow(
                      column(6, selectInput("Member", label=h5("Choose a option"),choices=c('BCRA1','FITM2'))
                      ))),
                  mainPanel(fluidRow(
                    htmlOutput("frame")
                  )
                  )
                ))

server <- function(input, output) {
    observe({ 
    query <- members[which(members$nr==input$Member),2]
    test <<- paste0("http://news.scibite.com/scibites/news.html?q=GENE$",query)
  })
  output$frame <- renderUI({
    input$Member
    my_test <- tags$iframe(src=test, height=600, width=535)
    print(my_test)
    my_test
  })
}

shinyApp(ui, server)

18
задан Kriem 19 March 2009 в 14:02
поделиться

4 ответа

Это не может быть сделано путем, это описано в вопросе. Режимы координаты текстуры OpenGL только запрашивают всю структуру.

Обычно, для повторения структуры Вы потянули бы полигон, который "больше", чем Ваша структура подразумевает. Например, если бы у Вас была квадратная структура, которую Вы хотели повторить неоднократно (скажите шесть) то по большей области Вы потянули бы прямоугольник, это в шесть раз более широко, чем это высоко. Тогда Вы установили координаты текстуры на (0,0) - (6,1), и режим структуры для "повторений". При интерполяции через полигон координата текстуры, которая идет вне 1, будет, должный повторить быть включенным, "повторитесь" в структуре, заставив структуру быть отображенными шесть раз через прямоугольник.

Ни один из режимов обертки структуры не поддерживает вид операции, как описано в вопросе, т.е. они все отображаются на полное [0,1] диапазон, не некоторое произвольное подмножество. при текстурировании использования просто часть структуры нет никакого способа определить, что большая координата текстуры способом, которая заставляет OpenGL повторить его только в подпрямоугольнике.

у Вас в основном есть два варианта: Или создайте новую структуру, которая только имеет спрайт, в котором Вы нуждаетесь от существующей структуры или пишете программу вершины GLSL для отображения координат текстуры соответственно.

18
ответ дан 30 November 2019 в 08:21
поделиться

Я не уверен, что можно сделать это. Я думаю, что режимы координаты текстуры OpenGL только запрашивают всю структуру. При использовании атласа Вы используете "подструктуры", так, чтобы Ваши координаты текстуры никогда не близко подходили 0 и 1, нормальные пределы, где обертывание и фиксация происходят.

могли бы быть расширения для контакта с этим, я не проверил.

РЕДАКТИРОВАНИЕ: Обычно, для повторения структуры Вы потянули бы полигон, который "больше", чем Ваша структура подразумевает. Например, если бы у Вас была квадратная структура, которую Вы хотели повторить неоднократно (скажите шесть) то по большей области Вы потянули бы прямоугольник, это в шесть раз более широко, чем это высоко. Тогда Вы установили координаты текстуры на (0,0) - (6,1), и режим структуры для "повторений". При интерполяции через полигон координата текстуры, которая идет вне 1, будет, должный повторить быть включенным, "повторитесь" в структуре, заставив структуру быть отображенными шесть раз через прямоугольник.

Это немного сыро для объяснения без изображений.

Так или иначе при текстурировании использования просто часть структуры нет никакого способа определить, что большая координата текстуры способом, которая заставляет OpenGL повторить его только в подпрямоугольнике.

6
ответ дан 30 November 2019 в 08:21
поделиться

Не может быть сделан...

-3
ответ дан 30 November 2019 в 08:21
поделиться

Ни один из режимов обертки структуры не поддерживает вид операции, которую Вы ищете, т.е. они все отображаются на полное [0,1] диапазон, не некоторое произвольное подмножество. У Вас в основном есть два варианта: Или создайте новую структуру, которая только имеет спрайт, в котором Вы нуждаетесь от существующей структуры или пишете пиксельную программу GLSL для отображения координат текстуры соответственно.

5
ответ дан 30 November 2019 в 08:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: